This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Error linking under Cygwin: fork: can't reserve memory for stack XXX, Win32 error 487


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/


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