Problems compiling trivial C program.
Christopher January
chris@atomice.net
Fri Feb 7 13:33:00 GMT 2003
I'm having trouble compiling this test program:
void f(){}
using the command line:
gcc test.c -c -o test.o
using 1.3.19 or latest Cygwin snapshot (2003-Feb-07) (same error with
both) and gcc-3.2-3.
The error I see is:
16 bit MS-DOS Subsystem
/usr/src/cygwin-cvs/obj
The NTVDM CPU has encountered an illegal instruction.
CS:0000 IP:0077 OP:f0 37 05 0e 02 Choose 'Close' to terminate the
application.
Close | Ignore
AFAICT the command that is failing is:
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../../i686-pc-cygwin/bin/as.exe,
P:\ccj00\cygwin\usr\i686-pc-cygwin\bin\as.exe --traditional-format -o
test.o /cygdrive/c/DOCUME~1/ccj00/LOCALS~1/Temp/cc50BUPU.s
See the following strace portion:
39542 4773296 [main] gcc 1428 spawn_guts: 1428 = spawn_guts
(/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../../i686-pc-cygwin/bin/as.exe,
P:\ccj00\cygwin\usr\i686-pc-cygwin\bin\as.exe --traditional-format -o
test.o /cygdrive/c/DOCUME~1/ccj00/LOCALS~1/Temp/cc50BUPU.s)
710 4774006 [main] gcc 1428! fhandler_base::close: closing
'/usr/src/cygwin-cvs/obj/strace.log' handle 0xD0
520 4774526 [main] gcc 1428! spawn_guts: spawned windows pid 1740
4070800 8655535 [sig] gcc 1780 wait_sig: awake
652 8656187 [sig] gcc 1780 wait_sig: processing signal 0
1287 8657474 [sig] gcc 1780 pinfo::init: execed process windows pid 1952,
cygwin pid 1620
889 8658363 [sig] gcc 1780 wait_sig: looping
3887914 8662440 [sig] gcc 1428! wait_sig: awake
616 8663056 [sig] gcc 1428! wait_sig: processing signal 0
1420 8664476 [sig] gcc 1428! pinfo::init: execed process windows pid
1952, cygwin pid 1620
939 8665415 [sig] gcc 1428! wait_sig: looping
The dialog box appears at this point.
procps shows the offending command running with the command line:
ccj00 1864 0.7 0.6 405536 1592 tty0 S 13:20 0:00 gcc test.c
-c -o
however ps shows it running with the command line:
1864 480 480 1864 con 22083 13:20:49
/usr/i686-pc-cygwin/bin/as
(The above output is from a different run to the strace)
The new windows process doesn't seem to reach the Cygwin initialisation
stage.
I have tried reinstalling the gcc package. I also tried setting the TMP
and TEMP environment variables to /tmp.
None of the above solved the problem.
The command:
gcc test.c -o test
also shows the same dialog box as above and then fails with the following
error:
$ gcc test.c -o test
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../../i686-pc-cygwin/bin/ld:
installat
ion problem, cannot exec
`/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../../i686-p
c-cygwin/bin/ld': Invalid argument
collect2: ld returned 255 exit status
Cygcheck output and strace attached.
I don't have many debugging facilities available to me here at college,
but I can try to provide more information if necessary.
Chris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: strace.log.gz
Type: application/x-gunzip
Size: 48636 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20030207/e6dc30a0/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cygcheck_output
Type: application/octet-stream
Size: 15509 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20030207/e6dc30a0/attachment.obj>
-------------- next part --------------
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list