Error linking under Cygwin: fork: can't reserve memory for stack XXX, Win32 error 487
Martin Egholm Nielsen
martin@egholm-nielsen.dk
Thu Mar 3 19:40:00 GMT 2005
Hi,
>>>>However, as my application is growing in size (number of .o files) I
>>>>suddenly get the following fault message from collect2.exe when trying
>>>>to link them all together:
>>>>
>>>>$ powerpc-405-linux-gnu-gcj --main=foo.Main *.o
>>>>C:\cygwin\opt\crosstool\powerpc-405-linux-gnu\gcc-3.4.0-glibc-2.2.5\libexec\gcc\powerpc-405-linux-gnu\3.4.0\collect2.exe
>>>>(1740): *** fork: can't reserve memory for stack 0x40000 - 0x240000,
>>>>Win32 error 487 <REPEATED>
>>> --stack <size> Set size of the initial stack
>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>Hum, these options are not available in my crosscompiler:
>>$ powerpc-405-linux-gnu-gcc -v --help 2>&1 | grep stack
> You would need to add it to the CFLAGS when _building_ the crossbinutils
> linker rather than to the command line when _using_ it, so that the compiled
> crossversion of collect2 runs with a bigger stack.
> If indeed that is the underlying problem.
I suddenly ran into another problem today (after adding some more .o
files) - bash reported that the argument line was too long. That is, the
expansion of "*.o" was too large. Hence, I created a shell script that
renamed all the .o files into incremental filenames: 1.o, 2.o, etc.
Then suddenly both problems vanished...
Weird?
Maybe the first problem was related to the fact that I almost ran into
the "*.o" expansion-boundary?
BR,
Martin
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list