optimization/8156 (bad assembler code)
Roger W. Brown
bregor@sf.anu.edu.au
Mon Oct 7 01:28:00 GMT 2002
Problem:
Bad assembler code produced by -mcpu=i686 -march=i686
switches, when compiling glibc-2.3 with gcc (GCC) 3.2.1 20021004
(prerelease)
The fault appears in the gcc-2.3/signal directory and
may be reproduced by compiling the code below.
(now called Fred.c) The compile command line was taken from the
glibc-2.3 build.
#include <sysdep.h>
PSEUDO (__kill, kill, 2)
ret
PSEUDO_END(__kill)
libc_hidden_def (__kill)
weak_alias (__kill, kill)
libc_hidden_weak (kill)
/usr/bin/gcc -pipe -mcpu=i686 -march=i686 -S -I../include \
-I. -I/Main/Glibc/glibc-2.3/Build/signal -I.. -I../libio \
-I/Main/Glibc/glibc-2.3/Build -I../sysdeps/i386/elf \
-I../linuxthreads/sysdeps/unix/sysv/linux/i386 \
-I../linuxthreads/sysdeps/unix/sysv/linux \
-I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread \
-I../linuxthreads/sysdeps/unix/sysv \
-I../linuxthreads/sysdeps/unix \
-I../linuxthreads/sysdeps/i386/i686 \
-I../linuxthreads/sysdeps/i386 \
-I../sysdeps/unix/sysv/linux/i386 \
-I../sysdeps/unix/sysv/linux -I../sysdeps/gnu \
-I../sysdeps/unix/common -I../sysdeps/unix/mman \
-I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 \
-I../sysdeps/unix/sysv -I../sysdeps/unix/i386 \
-I../sysdeps/unix -I../sysdeps/posix \
-I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 \
-I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 \
-I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 \
-I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 \
-I../sysdeps/ieee754 -I../sysdeps/generic/elf \
-I../sysdeps/generic -I /lib/modules/2.4.19-pre10/build/include \
-D_LIBC_REENTRANT -include ../include/libc-symbols.h \
-DPIC -DSHARED -DASSEMBLER -DGAS_SYNTAX \
-x assembler-with-cpp Fred.c > Fred-i686.a
The same command string but without the -mcpu and -march switches
created file Fred-default.a
as Fred-default.a (okay)
as Fred-i686.a
Fred-i686.a: Assembler messages:
Fred-i686.a:49: Warning: rest of line ignored; first ignored character is `1'
Fred-i686.a:49: Warning: rest of line ignored; first ignored character is `1'
Fred-i686.a:49: Warning: rest of line ignored; first ignored character is `1'
Fred-i686.a:49: Error: unrecognized symbol type ""
Fred-i686.a:49: Warning: rest of line ignored; first ignored character is `1'
Fred-i686.a:49: Warning: rest of line ignored; first ignored character is `1'
Fred-i686.a:49: Error: junk `.get_pc_thunk.bx' after expression
Files Fred-i686.a and Fred-default.a are attached.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Fred-default.a
Type: application/x-archive
Size: 2778 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-bugs/attachments/20021007/bade1f3e/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Fred-i686.a
Type: application/x-archive
Size: 2755 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-bugs/attachments/20021007/bade1f3e/attachment-0001.bin>
More information about the Gcc-bugs
mailing list