Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com To: cygwin AT cygwin DOT com From: Martin Egholm Nielsen Subject: Re: Error linking under Cygwin: fork: can't reserve memory for stack XXX, Win32 error 487 Date: Thu, 03 Mar 2005 20:33:14 +0100 Lines: 32 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet AT sea DOT gmane DOT org X-Gmane-NNTP-Posting-Host: 212.242.189.63 User-Agent: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.7.5) Gecko/20041217 In-Reply-To: X-Gmane-MailScanner: Found to be clean X-Gmane-MailScanner: Found to be clean X-Gmane-MailScanner-SpamScore: s X-MailScanner-From: goc-cygwin AT m DOT gmane DOT org X-MailScanner-To: cygwin AT cygwin DOT com X-IsSubscribed: yes 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 >>> --stack 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/