From: "Juan Manuel Guerrero" Organization: Darmstadt University of Technology To: sandmann AT clio DOT rice DOT edu (Charles Sandmann), pavenis AT lanet DOT lv, Eli Zaretskii Date: Sat, 8 Sep 2001 19:29:49 +0200 Subject: Re: gcc-301 difficulty CC: djgpp-workers AT delorie DOT com In-reply-to: <10109071548.AA19975@clio.rice.edu> References: <3B9899F8 DOT 17555 DOT 21743F AT localhost> from "pavenis AT lanet DOT lv" at Sep 07, 2001 09:57:12 AM X-mailer: Pegasus Mail for Windows (v2.54DE) Message-ID: <69117341E6B@HRZ1.hrz.tu-darmstadt.de> Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Fri, 7 Sep 2001, Charles Sandmann wrote: > What OS? What version of make? The OS is a german version of Windows 95 (4.00.950). This OS has been bought 1996. Whatever new drivers MS may have uploaded for this OS version, I have never downloaded and installed them. The OS is installed from the original 1,44 MB disks as it has been bought. If there is some software to get more info about the OS, please let me know and I will run it. This is config.sys: DEVICE=C:\WINDOWS\HIMEM.SYS /A20CONTROL:ON /TESTMEM:OFF /VERBOSE DEVICE=C:\WINDOWS\EMM386.EXE OFF X=A000-AFFF I=B000-B7FF X=B800-BFFF X=C000-C7FF I=C800-CFFF I=D000-DFFF I=E000-EFFF FRAME=NONE NOEMS NOVCPI VERBOSE DOS=HIGH,UMB DEVICEHIGH=C:\WINDOWS\COMMAND\DRVSPACE.SYS /MOVE DEVICEHIGH=C:\WINDOWS\SETVER.EXE DEVICEHIGH=C:\WINDOWS\COMMAND\DISPLAY.SYS CON=(EGA,,1) COUNTRY=049,850,C:\WINDOWS\COMMAND\COUNTRY.SYS FILESHIGH=50 STACKSHIGH=9,256 BUFFERSHIGH=10 LASTDRIVEHIGH=Z SHELL=C:\WINDOWS\COMMAND.COM C:\WINDOWS /E:5120 /P and this is autoexec.bat: SET TEMP=Z:\TMP SET TMP=Z:\TMP SET TMPDIR=Z:/TMP PROMPT $p$g SET DJGPP=d:/cvs/djgpp.env SET PATH=D:\CVS\BIN;E:\F-PROT;%PATH% C:\WINDOWS\COMMAND\MODE CON CODEPAGE PREPARE=((850) C:\WINDOWS\COMMAND\EGA.CPI) C:\WINDOWS\COMMAND\MODE CON CODEPAGE SELECT=850 LOADHIGH C:\WINDOWS\COMMAND\KEYB GR,,C:\WINDOWS\COMMAND\KEYBOARD.SYS LOADHIGH C:\WINDOWS\COMMAND\DOSKEY.COM I am using a stock DJGPP installation. Especially, stock bsh204b.zip, mak3791b.zip, bnu2112b.zip and djdev203.zip. I have completely removed all gcc-3.0 compiler packages and installed all gcc-3.0.1 compiler packages (Build 2001-08-15). I have replaced the cc1.exe program with the new one from Andris FTP site. This new one has not been stripped. > The fact that it sometimes works says to me this is either an unintialized > variable or subject to external events (like a timer interrupt). Only FYI: There have never been installed any kind of virus scanner nor screen saver on the system. When compiling, the only active program is the DOS window. No intentional background activity (like text editing, sending data to the printer, etc) have been done. > Does it crash if you run cc1 individually (not from GCC? do gcc -v and > manually do the CC1 step) Yes, it crashes in the same way. > I would try building without selector freeing and see if that fixes. > Try building with the crt0 flag to zero memory. I have downloaded todays CVS libc. I will try to recompile at least the c-compiler and see what happens. On Fri, 07 Sep 2001, Eli Zaretskii wrote: > Juan, does this happen when compiling any program, or just when > building the library? For example, can you build a large GNU package, > or does it crash there as well? It happens with all packages I have tested. This are flex, m4, make3791, gdbm and sed30280. I have compiled from a DOS window in Win95 and from plain DOS (of Win95). The failure is of the same form for all packages I have tested, so I will show only the results for sed. 1) Compiling sed30280 in a DOS window: d:/cvs/bin/make.exe all-recursive make.exe[1]: Entering directory `z:/tmp/sed' Making all in djgpp make.exe[2]: Entering directory `z:/tmp/sed/djgpp' make.exe[2]: Nothing to be done for `all'. make.exe[2]: Leaving directory `z:/tmp/sed/djgpp' Making all in doc make.exe[2]: Entering directory `z:/tmp/sed/doc' make.exe[2]: Nothing to be done for `all'. make.exe[2]: Leaving directory `z:/tmp/sed/doc' Making all in lib make.exe[2]: Entering directory `z:/tmp/sed/lib' gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -c getopt1.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -c getopt.c Exiting due to signal SIGSEGV General Protection Fault at eip=00240a7d eax=000002a7 ebx=00240b84 ecx=00000010 edx=00000000 esi=00240b84 edi=ffffffa4 ebp=00000fbc esp=00000fbc program=D:\CVS\LIB\GCC-LIB\DJGPP\3.01\CC1.EXE cs: sel=029f base=82cc7000 limit=004affff ds: sel=02a7 base=82cc7000 limit=004affff es: sel=02a7 base=82cc7000 limit=004affff fs: sel=027f base=00022720 limit=0000ffff gs: sel=02b7 base=00000000 limit=0010ffff ss: sel=0173 invalid App stack: [00346978..002c6978] Exceptn stack: [002c63c0..002c4480] Call frame traceback EIPs: 0x00240a7d ___djgpp_exception_table+301 2) Compiling sed30280 on plain DOS: d:/cvs/bin/make.exe all-recursive make.exe[1]: Entering directory `z:/tmp/sed' Making all in djgpp make.exe[2]: Entering directory `z:/tmp/sed/djgpp' make.exe[2]: Nothing to be done for `all'. make.exe[2]: Leaving directory `z:/tmp/sed/djgpp' Making all in doc make.exe[2]: Entering directory `z:/tmp/sed/doc' make.exe[2]: Nothing to be done for `all'. make.exe[2]: Leaving directory `z:/tmp/sed/doc' Making all in lib make.exe[2]: Entering directory `z:/tmp/sed/lib' gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -c getopt.c Exiting due to signal SIGSEGV Page fault at eip=001c0df1, error=0004 eax=00000002 ebx=00000008 ecx=00000002 edx=00000000 esi=00000002 edi=0019a59c ebp=003461e8 esp=00345cc0 program=d:/cvs/bin/../lib/gcc-lib/djgpp/3.01/cc1.exe cs: sel=0227 base=105b0000 limit=004affff ds: sel=022f base=105b0000 limit=004affff es: sel=022f base=105b0000 limit=004affff fs: sel=020f base=0003b540 limit=0000ffff gs: sel=023f base=00000000 limit=0010ffff ss: sel=022f base=105b0000 limit=004affff App stack: [00346978..002c6978] Exceptn stack: [002c63c0..002c4480] Call frame traceback EIPs: 0x001c0df1 _find_reloads+737, line ?? of reload.c 0x0011ca15 _calculate_needs_all_insns+373, line ?? of reload1.c 0x0011b737 _reload+1239, line ?? of reload1.c 0x0018058a _global_alloc+1546, line ?? of global.c 0x000569e0 _rest_of_compilation+4492, line 3474 of toplev.c 0x0001bc57 _c_expand_body+263, line 6784 of c-decl.c 0x0001ba1a _finish_function+170, line 6702 of c-decl.c 0x00008eec _yyparse_1+3996, line 325 of c-parse.c 0x000550cd _compile_file+1145, line 2369 of toplev.c 0x0005a69e _main+2082, line 4990 of toplev.c 0x00240942 ___crt1_startup+178 make.exe[2]: *** [getopt.o] Error 1 make.exe[2]: Leaving directory `z:/tmp/sed/lib' make.exe[1]: *** [all-recursive] Error 1 make.exe[1]: Leaving directory `z:/tmp/sed' make.exe: *** [all-recursive-am] Error 2 Please note the traceback for all other packages is identical to this two tracebacks. Silly programs like: #include main() { int i; for (i=0;i<10000;i++) printf("i=%i\n",i); } can be compiled without difficulty. Regards, Guerrero, Juan Manuel