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