[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] binutils ld enhancement ?



On Sun, 2010-04-11 at 11:21 +0200, Vincent Rivière wrote:
> Alan Hourihane wrote:
> > Now, I know we have the --stack option to the linker, but that means
> > modifying the build files to add that and it's non-portable. So I'm
> > wondering if 'ld' can read this value from some pre-configured place,
> > like an /etc/xxx file or maybe /proc/xxx to find out what the current
> > stack size should be set to on compilations which would mean no changes
> > to the build files ? What do you think ?
> 
> I understand the problem. When building MiNT software, setting a correct 
> stack size is an absolute requirement. And the standard makefiles are not 
> aware of that. I guess this is especially a problem for Gentoo, where 
> standard source packages should be downloaded and compiled transparently.
> 
> However, I don't know the best way to do that. Certainly, as you proposed in 
> your other message, a specific environment variable used by the linker would 
> be simple and efficient. But it would be very nonstandard. Maybe the 
> binutils has some way to provide default options, I don't know.
> Or maybe Gentoo is flexible enough to customize makefiles ?
> Or maybe configure, with something like the file config.site ?
> 
> My feeling is that we should see how this kind of problem is solved on other 
> platforms before adding a new functionality inside the linker.

Which other platforms have our stack issues ?

It's not really new functionality either. It's just setting the --stack
option but from an ENV var instead.

> > Also, the ld --help output says that stack is set by --stack<size>
> > where it should say "--stack=<size', i.e. it's missing the equal.
> 
> Oh, I didn't notice, but both syntaxes work.
> In the --help message, I have used the same syntax as the --stack option 
> specific to the Win32 linker, described in "man ld".

For me, -Wl,--stack 512k did not work, I had to use -Wl,--stack=512k

> So I think it is correct like this (but the usage of = should be consistent 
> among all options).

Alan.