X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Jim Michaels Newsgroups: comp.os.msdos.djgpp Subject: Re: CC1.EXE/GCC.EXE crashes with SIGILL, hard. Date: Tue, 13 Mar 2012 19:47:04 -0700 (PDT) Organization: http://groups.google.com Lines: 118 Message-ID: <1307332.2999.1331693224155.JavaMail.geo-discussion-forums@pbcql4> References: <16777375 DOT 1302 DOT 1331688966231 DOT JavaMail DOT geo-discussion-forums AT vbat19> NNTP-Posting-Host: 24.22.56.37 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1331693224 29085 127.0.0.1 (14 Mar 2012 02:47:04 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: Wed, 14 Mar 2012 02:47:04 +0000 (UTC) In-Reply-To: <16777375.1302.1331688966231.JavaMail.geo-discussion-forums@vbat19> Complaints-To: groups-abuse AT google DOT com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=24.22.56.37; posting-account=05hOMwoAAAB6R8xtiQKzEljSMzgOhVF1 User-Agent: G2/1.0 Bytes: 5832 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Tuesday, March 13, 2012 6:36:06 PM UTC-7, Claude Freeman wrote: > Hello! > > I have a Pentium MMX CPU with around 48 MB RAM. I run Win95c, It's mostly for simple programming practice. I'm trying to use DJGPP to compile a simple hello world program in C, yet instead of a pretty program I get crash dump on my face. > > here is the output of all I can give you thus far. > > My SET environment... > > > TMP=C:\WINDOWS\TEMP > TEMP=C:\WINDOWS\TEMP > PROMPT=$p$g > winbootdir=C:\WINDOWS > COMSPEC=C:\WINDOWS\COMMAND.COM > SOUND=C:\PROGRA~1\CREATIVE\CTSND > MIDI=SYNTH:1 MAP:E > windir=C:\WINDOWS > BLASTER=A220 I5 D1 H1 P330 T6 > PATH=C:\DJGPP\BIN;C:\WINDOWS;C:\WINDOWS\COMMAND > DJGPP=c:\djgpp\djgpp.env > CMDLINE=gcc foo.c -v > > The nasty crash dialog I get (there's no dump, for some unknown reason) > > When compiling the program with -v , I'll get some output but it's only declaring flags and whatnot: > > C:\REMOOD>gcc foo.c -v > Using built-in specs. > COLLECT_GCC=c:/djgpp/bin/gcc.exe > COLLECT_LTO_WRAPPER=c:/djgpp/bin/../libexec/gcc/djgpp/4.62/lto-wrapper.exe > Target: djgpp > Configured with: /v203/gcc-4.62/configure djgpp --prefix=/dev/env/DJDIR --disable-nls --disable-werror --enable-languages=c,c++,fortran,objc,obj-c++,ada -enable-libquadmath-support > Thread model: single > gcc version 4.6.2 (GCC) > COLLECT_GCC_OPTIONS='-v' '-mtune=pentium' '-march=pentium' > c:/djgpp/bin/../libexec/gcc/djgpp/4.62/cc1.exe -quiet -v -iprefix c:/djgpp/bin/../lib/gcc/djgpp/4.62/ -remap foo.c -quiet -dumpbase foo.c -mtune=pentium -march=pentium -auxbase foo -version -o c:/djgpp/tmp/ccDUEyWn.s > Exiting due to signal SIGILL > Invalid Opcode at eip=007bbdc8 > eax=006153eb ebx=00ba4738 ecx=00ba4740 edx=00615779 esi=00ba4740 edi=00aa4774 > ebp=00ba474c esp=00ba4734 program=C:\DJGPP\LIBEXEC\GCC\DJGPP\4.62\CC1.EXE > cs: sel=00ff base=8310e000 limit=00baffff > ds: sel=0107 base=8310e000 limit=00baffff > es: sel=0107 base=8310e000 limit=00baffff > fs: sel=00df base=00013350 limit=0000ffff > gs: sel=0117 base=00000000 limit=0010ffff > ss: sel=0107 base=8310e000 limit=00baffff > App stack: [00ba4774..00aa4774] Exceptn stack: [00aa417c..00aa223c] > > Call frame traceback EIPs: > 0x007bbdc8 > 0x007a5295 > 0x0079bb17 > > > go32's output: > > > go32/v2 version 2.0 built Dec 24 2001 21:25:02 > Usage: go32 coff-image [args] > Rename this to go32.exe only if you need a go32 that can run v2 binaries as > well as v1 binaries (old makefiles). Put ahead of the old go32 in your PATH > but do not delete your old go32 - leave it in the PATH after this one. > Set GO32_V2_DEBUG=y in the environment to get verbose output. > > DPMI memory available: 25832 Kb > DPMI swap space available: 6232 Kb > > My CONFIG.SYS (only loads my CD-ROM): > > > REM device=\bpcdrom\bpcddrv.sys /d:bpcddrv$ > DEVICEHIGH=C:\WINDOWS\COMMAND\DRVSPACE.SYS /MOVE > > My AUTOEXEC.BAT: > > SET SOUND=C:\PROGRA~1\CREATIVE\CTSND > SET MIDI=SYNTH:1 MAP:E > SET BLASTER=A220 I5 D1 H1 P330 T6 > > > If it helps further, here is what running GDB on CC1.EXE gets: > > GNU gdb (GDB) 7.4 > Copyright (C) 2012 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "--host=i586-pc-msdosdjgpp --target=djgpp". > For bug reporting instructions, please see: > ... > Reading symbols from C:\DJGPP\LIBEXEC\GCC\DJGPP\4.62\CC1.EXE...(no debugging sym > bols found)...done. > (gdb) run > Starting program: C:\DJGPP\LIBEXEC\GCC\DJGPP\4.62\CC1.EXE > > Program received signal SIGILL, Illegal instruction. > 0x007bbdc8 in ?? () > (gdb) bt > #0 0x007bbdc8 in ?? () > #1 0x007a5295 in ?? () > #2 0x0079bb17 in ?? () > #3 0x00001c36 in ?? () > > > > I've hit a brick wall here. Everything else in the DJGPP distro seems to act sane, for the most part. too bad the most important part is refusing to work. > > Any ideas? I've done done CPU checks and memtests, everything checks out OK. I know I am not the person who could do anything about it, but I am sure they will ask: what's the source code for foo.c? can you narrow it down to a very small reproducible test case? those are the kinds of things they usually ask for. also, for a compiler bug, they will usually want the .ii file when you do a gcc -v -save-temps foo.c especially if it's a gcc bug and not just a djgpp bug.