This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re:optimization/8156 (bad assembler code)


  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.
    

Attachment: Fred-default.a
Description: application/archive

Attachment: Fred-i686.a
Description: application/archive


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]