Date: Tue, 21 Feb 95 16:28:25 PST From: KUBLER AT MASS DOT dnet DOT hac DOT com To: ARPA::"djgpp AT sun DOT soe DOT clarkson DOT edu"@hac2arpa.hac.com Hello, I have a constant problem with gcc 2.6.3 including maint release 4. Any undeclared symbol in any compilation causes a crash. I searched the Turnbull archives for a similar problem and came up with a close match. My problem occurs in DOS or in Windows, except in Windows the following message is not printed. "Segmentation violation in pointer 0x00000405 at d8:50544" Now follows what I captured in the Windows box: >test.cc: In function `int main(int, char **)': >test.cc:9: `source' undeclared (first use this function) >test.cc:9: (Each undeclared identifier is reported only once >test.cc:9: for each function it appears in.) >test.cc:9: `target' undeclared (first use this function) >General Protection Fault at eip=50553 >eax=74000478 ebx=001c8e30 ecx=001c8e30 edx=001c8e30 esi=001b3558 edi=001cea14 >ebp=001ac3b4 esp=001ac38c cs=137 ds=12f es=12f fs=12f gs=147 ss=13f \ >cr2=0000cff0 >Call frame traceback EIPs: > 0x00050553 > 0x0004ff72 > 0x000500fc > 0x0004fb17 > 0x000492c9 > 0x00071ddb > 0x000768f2 I tried the advice in the latest FAQ and set FRAME=NO for EMM386. In that case I get the error AND a total system crash that needs a a HW reboot. And the current directory is clobbered! My system is a 486dx2-66, with DOS 6.2, Win 3.1, and Microsoft's EMM386. Below is a report I pulled from the archives, as of Monday Vadim had not solved or fixed the problem. My system doesn't show so much diagnostic data, perhaps his data will help. 0,, *** EOOH *** Date: Tue, 24 Jan 1995 19:53:30 -0300 From: "Sinolits Vadim V." Subject: Re: djgpp To: turnbull AT shako DOT sk DOT tsukuba DOT ac DOT jp Message-ID: On Tue, 20 Dec 1994, Stephen Turnbull wrote: > Hello! > I don't know how to run djgpp on my i486DX (50MHz,16Mb RAM). > When I run gcc it says 'Unsupported int 0x06 ' and > prints a list of registers an their contents. > > Try "go32" at the DOS prompt. Maybe you have an old GO32 on the path. > It should tell you that it is version 1.12 (perhaps with .maint1 or > .maint2). > > I think, that int6 shows that illegal operation (for i486) was. > But somtimes under emm386 gcc can compile but not all of the > programms. > My djgpp version is 2.60. > > You should also say what is in your config.sys and autoexec.bat. > Otherwise noone can know what conflicts might be. > > Any answer is wellcome. > I'm stopping my works. > With best wishes! > > VVS. > vvs AT npi DOT msu DOT su > You can talk to me by talk. > > I would suggest that you resend this to the whole list, and include > what TSRs you use and especially any memory managers. As far as I can > tell, you only sent it to me. > --Steve > Hello Steve! I cannot execute gcc.exe. Never. It is very unstable with emm386. Sometimes gcc compiles test programs. I have i486DX50/16MbRAM. And configuration: ----my config.sys:----------------------- break=on FILES=40 BUFFERS=40 STACKS=9,256 LASTDRIVE=Z shell=c:\dos5\command.com /p /E:4096 ---------my autoexec.bat:----------------- set comspec=c:\dos5\command.com path=c:\;c:\norton;c:\dos5;c:\djgpp;c:\djgpp\bin;c:\arch;c:\local;c:\gnuplot;c:\exp; set DJGPP=c:/djgpp/djgpp.env set TMPDIR=c:/djgpp/tmp1 set GO32TMP=c:/djgpp/tmp2 set GO32=driver c:/djgpp/drivers/vga.grd gw 640 gh 480 2r1 core gjgpp.cor call c:\djgpp\bin\setdjgpp.bat c:\djgpp c:/djgpp -------------core files and stdout:-------------------- ---------while compiling test for window library (and others)--------- ==================== eax=00000401 ebx=00187e30 ecx=00187e30 edx=00187e30 esi=00172660 edi=0018b400 ebp=7ffff6c4 esp=7ffff69c cs=d8 ds=48 es=48 fs=48 gs=38 ss=48 cr2=00000405 Call frame traceback EIPs: 0x00050544 0x0004ff72 0x000500fc 0x0004fb17 0x000492c9 0x00071ddb 0x000768f2 Contents of stack: stack[0x7ffff69c] = 0x00174030 stack[0x7ffff69e] = 0xf5980017 stack[0x7ffff6a0] = 0x0018f598 stack[0x7ffff6a2] = 0x00030018 stack[0x7ffff6a4] = 0x00000003 stack[0x7ffff6a6] = 0x00170000 stack[0x7ffff6a8] = 0x00000017 stack[0x7ffff6aa] = 0x00020000 stack[0x7ffff6ac] = 0x00000002 stack[0x7ffff6ae] = 0x00000000 stack[0x7ffff6b0] = 0x00000000 stack[0x7ffff6b2] = 0x012e0000 stack[0x7ffff6b4] = 0x0005012e stack[0x7ffff6b6] = 0x26880005 stack[0x7ffff6b8] = 0x00172688 stack[0x7ffff6ba] = 0x26600017 stack[0x7ffff6bc] = 0x00172660 stack[0x7ffff6be] = 0xf55c0017 stack[0x7ffff6c0] = 0x0018f55c stack[0x7ffff6c2] = 0xf7040018 stack[0x7ffff6c4] = 0x7ffff704 stack[0x7ffff6c6] = 0xff727fff stack[0x7ffff6c8] = 0x0004ff72 stack[0x7ffff6ca] = 0x00000004 stack[0x7ffff6cc] = 0x00000000 stack[0x7ffff6ce] = 0xf5840000 stack[0x7ffff6d0] = 0x0018f584 stack[0x7ffff6d2] = 0x25d40018 stack[0x7ffff6d4] = 0x001725d4 stack[0x7ffff6d6] = 0x1f280017 stack[0x7ffff6d8] = 0x00191f28 stack[0x7ffff6da] = 0x00030019 stack[0x7ffff6dc] = 0x00000003 stack[0x7ffff6de] = 0x1f280000 stack[0x7ffff6e0] = 0x00191f28 stack[0x7ffff6e2] = 0xfaa80019 stack[0x7ffff6e4] = 0x0026faa8 stack[0x7ffff6e6] = 0x25d40026 stack[0x7ffff6e8] = 0x001725d4 stack[0x7ffff6ea] = 0x00020017 ==================== Debug at eip=1df32 eax=00000375 ebx=00000021 ecx=00000000 edx=00000000 esi=00000000 edi=7ffff174 ebp=7ffff114 esp=7ffff0f4 cs=d8 ds=48 es=48 fs=48 gs=48 ss=48 cr2=0000dec4 Call frame traceback EIPs: 0x0001df32 0x00000000 Contents of stack: stack[0x7ffff0f4] = 0x00000a92 stack[0x7ffff0f6] = 0x00000000 stack[0x7ffff0f8] = 0x00000000 stack[0x7ffff0fa] = 0x00000000 stack[0x7ffff0fc] = 0x00000000 stack[0x7ffff0fe] = 0x00000000 stack[0x7ffff100] = 0x00000000 stack[0x7ffff102] = 0x00000000 stack[0x7ffff104] = 0x00000000 stack[0x7ffff106] = 0x00000000 stack[0x7ffff108] = 0x00000000 stack[0x7ffff10a] = 0x50980000 stack[0x7ffff10c] = 0x00285098 stack[0x7ffff10e] = 0xf1400028 stack[0x7ffff110] = 0x7ffff140 stack[0x7ffff112] = 0x502e7fff stack[0x7ffff114] = 0x0000502e stack[0x7ffff116] = 0x00000000 stack[0x7ffff118] = 0x00000000 stack[0x7ffff11a] = 0x50980000 stack[0x7ffff11c] = 0x00285098 stack[0x7ffff11e] = 0x00010028 stack[0x7ffff120] = 0x00000001 stack[0x7ffff122] = 0x50740000 stack[0x7ffff124] = 0x001a5074 stack[0x7ffff126] = 0x5074001a stack[0x7ffff128] = 0x001a5074 stack[0x7ffff12a] = 0xfc44001a stack[0x7ffff12c] = 0x0027fc44 stack[0x7ffff12e] = 0xf1500027 stack[0x7ffff130] = 0x7ffff150 stack[0x7ffff132] = 0x93067fff stack[0x7ffff134] = 0x00089306 stack[0x7ffff136] = 0x50d80008 stack[0x7ffff138] = 0x002850d8 stack[0x7ffff13a] = 0x50740028 stack[0x7ffff13c] = 0x001a5074 stack[0x7ffff13e] = 0x5074001a stack[0x7ffff140] = 0x001a5074 stack[0x7ffff142] = 0x0000001a ------------and stdout: gcc -O -I../inc -c test.cc Error: not enough memory to run go32! (it was the first attempt ) make.exe: *** [test.o] Error 1 gcc -O -I../inc -c test.cc In file included from c:/djgpp/include/errno.h:46, from ../inc/aecc.h:46, from ../inc/aedef.h:35, from ../inc/w.h:22, from test.cc:1: c:/djgpp/include/djgppstd.h:57: warning: declaration of `volatile void _exit(int)' c:/djgpp/include/djgppstd.h:57: warning: conflicts with built-in declaration `void _exit(int)' c:/djgpp/include/djgppstd.h:58: warning: declaration of `volatile void abort()' c:/djgpp/include/djgppstd.h:58: warning: conflicts with built-in declaration `void abort()' c:/djgpp/include/djgppstd.h:97: warning: declaration of `volatile void exit(int)' c:/djgpp/include/djgppstd.h:97: warning: conflicts with built-in declaration `void exit(int)' c:/djgpp/include/djgppstd.h:297: warning: declaration of `void * alloca(unsigned int)' c:/djgpp/include/djgppstd.h:297: warning: conflicts with built-in declaration `void * alloca(long unsigned int)' In file included from ../inc/aedef.h:35, from ../inc/w.h:22, from test.cc:1: ../inc/aecc.h:61: declaration of C function `int atexit(void (*)(...))' conflicts with c:/djgpp/include/djgppstd.h:63: previous declaration `int atexit(void (*)())' here ../inc/aecc.h:61: conflicting types for `int atexit(void (*)(...))' c:/djgpp/include/djgppstd.h:63: previous declaration as `int atexit(void (*)())' ../inc/attrmap.h: In method `void attribmap::setmap(unsigned char *, int = MAPSIZE)': In file included from ../inc/w.h:31, from test.cc:1: ../inc/attrmap.h:36: call of overloaded `min' is ambiguous ../inc/aedef.h:79: candidates are: min(short int, short int) ../inc/aedef.h:76: min(long int, long int) Segmentation violation in pointer 0x00000405 at d8:50544 EXCEPTION OCCURRED! Information dumped to core file: "gjgpp.cor" Abnormal program termination Unsupported INT 0x01 EXCEPTION OCCURRED! Information dumped to core file: "gjgpp.cor" ------------------------------------------ So, my work stoppes! I can do nothing: no debuggers (gdb.. :-( ). Linux works on my computer well. Have a nice day! Vadim.