i686-pc-linux-gnulibc1 with -march=pentiumpro

Andrew Pollard andrew@odie.demon.co.uk
Tue Dec 30 00:46:00 GMT 1997


[ Linux-2.0.33-SMP, libc-5.4.42, ld.so-1.9.5, binutils-2.8.1.0.15 ]

When compiling the gcc part of egcs, stage1 with gcc2.7.2.2, the
resulting compiler cannot compile itself with the options
"-O2 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro"...

% ./configure --prefix=/usr --with-gnu-as --with-gnu-ld --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.03/include/g++ --enable-shared i686-pc-linux-gnulibc1
...
% stage1/xgcc -Bstage1/ -c  -DIN_GCC   -DUSE_GNULIBC_1 -O2 -mpentiumpro -march=pentiumpro -mcpu=pentiumpro  -DHAVE_CONFIG_H -I. -I. -I./config stor-layout.c
/tmp/cca00409.s: Assembler messages:
/tmp/cca00409.s:581: Error: invalid character '$' in opcode
/tmp/cca00409.s:582: Error: invalid character '$' in opcode

The same command line works with -O1, or -O2 and no -march=pentiumpro

The offending lines in the .s file are...

        mov$8 -40(%ebp),%edx
        mov$8 %edx,-4(%ebp)

Which seem to be obviously wrong (should be movl's?)... any ideas?

Andrew.
--
   Andrew Pollard, Auto Simulations Ltd. UK.    | home: andrew@odie.demon.co.uk
   2 Milbanke Court, Milbanke Way, Bracknell    | work: andrewp@autosim.com
Tel:+44(0)1344 426486x103 Fax:+44(0)1344 426615 | http://www.odie.demon.co.uk





More information about the Gcc mailing list