This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [PATCH]: ld/Makefile.am


Ian Lance Taylor <ian@zembu.com> writes:

|> I'm still surprised by something here.  The error message which
|> H.J. cites is from libiberty/pexecute.c.  That means that the exec
|> which should start the shell script is failing.  The case is precisely
|> identical from the point of view of gcc, and the shell script is never
|> actually executed.  That means that somewhere inside the kernel, when
|> it tries to execute the shell script, it is running out of memory.
|> 
|> Executing a shell script does use a bit more memory, but only just
|> enough for "/bin/sh" and the name of the script to execute.  If that
|> is pushing H.J. over the memory limit, then he must have been
|> extremely close to that limit to start with.

It's not only this but also some additional --rpath options, which can
carry along long file names.  Those are only passed when the lt-ld-new
binary is linked, which could account for the push beyond the limit.

|> For that matter, I actually didn't think that the Linux kernel had an
|> argument size limit.

It has.  It is defined by MAX_ARG_PAGES (== 32, ie. 128kB w/4KB pages).
And remember that this includes the environment as well.

Andreas.

-- 
Andreas Schwab                                  "And now for something
SuSE Labs                                        completely different."
Andreas.Schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]