X-Authentication-Warning: smtp3.ihug.com.au: Host p236-apx1.syd.ihug.com.au [203.173.140.236] claimed to be acceleron Message-ID: <000d01c11806$ff791400$0a02a8c0@acceleron> From: "Andrew Cottrell" To: "Eli Zaretskii" Cc: , References: <10107280530 DOT AA16684 AT clio DOT rice DOT edu> <7458-Sat28Jul2001095430+0300-eliz AT is DOT elta DOT co DOT il> <006501c11742$a3fad650$0a02a8c0 AT acceleron> <200107281027 DOT GAA03194 AT delorie DOT com> Subject: Re: Make 3.791 on Windows 2000 test Date: Sun, 29 Jul 2001 18:18:05 +1000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Reply-To: djgpp-workers AT delorie DOT com ----- Original Message ----- From: "Eli Zaretskii" > > I modified make's main.c and added the following line, but the crash still > > occured and I couldn't see any extra debug info or extra info in the crash > > outout attached below. I also just added a printf after I set the > > malloc_debug level so I can see how many time make is called re-cursively. > > This was added at line number 774 in make's main.c befiore the main function > > along with a #inlcude . > > > > int _crt0_startup_flags = _CRT0_FLAG_UNIX_SBRK; > > > > This is the output with the crto startup flag set as above and the maloc > > debug level set to 4. Yet a different crash position. Have I set the crt0 > > startup flag correctly? > > Yes, I think so. Charles? > Note that now it's cc1 which crashes, not Make. So maybe Charles is > right, and Unixy sbrk is the solution. Hmm... Maybe try building GCC > with Unixy sbrk and se if that helps (you will have to do that for > both gcc.exe and cc1.exe). I seem to have missed something. I have not suceeded in building GCC with the crt0 startup flag set to use the Unixy sbrk. I tried to build GCC with the change above in GCC.C and in TOPLEVL.C, and in other files where I found what looked like a real main() function. This did not work as it appears that TOPLEVL.O is included in a number of EXE's along with the real main() function. I then thought that I would manually modify the LIBC startup code to always effectively set _crt0_startup_flags to _CRT0_FLAG_UNIX_SBRK, but I could not find any references for either CRT0_FLAG_UNIX_SBRK or it's #defined value of 0x0800. My question is where is _CRT0_FLAG_UNIX_SBRK used in the startup code? This is so I can modify the startup code to always use it and then I can re-build GCC and I know that all of the GCC exe's then have the Unixy SBRK set and re-test. > Still, I'd like to try to find the problem in `sbrk' with the default > algorithm. It's possible we don't handle address wrap-around > correctly. >