[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#629009: gcc-4.6: "Illegal instruction (program cc1)" error on i586

Package: gcc-4.6
Version: 4.6.0-10
Severity: important

It seems that gcc-4.6 tries to use some instruction unsupported by my
old Pentium MMX, and gets killed by SIGILL:

% gcc -E - < /dev/null
gcc: internal compiler error: Illegal instruction (program cc1)
Please submit a full bug report, ...

% /usr/lib/gcc/i486-linux-gnu/4.6/cc1
zsh: illegal hardware instruction  /usr/lib/gcc/i486-linux-gnu/4.6/cc1

An extra log message:
Illegal instruction occurred at 080db3b2 in /usr/lib/gcc/i486-linux-gnu/4.6/cc1

which brings us to a faulty cmove instruction in main():

 80db3a7:       81 e2 00 00 00 02       and    $0x2000000,%edx
 80db3ad:       b8 f0 b4 7c 08          mov    $0x87cb4f0,%eax
 80db3b2:       0f 44 f0                cmove  %eax,%esi
 80db3b5:       eb b9                   jmp    80db370 <main+0x80>
 80db3b7:       90                      nop

080db3b8 <_start>:
 80db3b8:       31 ed                   xor    %ebp,%ebp

IIRC, cmov instructions aren't supported on my hardware.

I confirm that gcc-4.5 works fine.

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i586)

Kernel: Linux
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gcc-4.6 depends on:
ii  binutils     The GNU assembler, linker and bina
ii  cpp-4.6               4.6.0-10           The GNU C preprocessor
ii  gcc-4.6-base          4.6.0-10           The GNU Compiler Collection (base 
ii  libc6                 2.13-4             Embedded GNU C Library: Shared lib
ii  libcloog-ppl0         0.15.9-3           the Chunky Loop Generator (runtime
ii  libgcc1               1:4.6.0-10         GCC support library
ii  libgmp10              2:5.0.1+dfsg-7     Multiprecision arithmetic library
ii  libgmpxx4ldbl         2:5.0.1+dfsg-7     Multiprecision arithmetic library 
ii  libgomp1              4.6.0-10           GCC OpenMP (GOMP) support library
ii  libmpc2               0.9-3              multiple precision complex floatin
ii  libmpfr4              3.0.1-3            multiple precision floating-point 
ii  libppl-c4             0.11.2-3           Parma Polyhedra Library (C interfa
ii  libppl9               0.11.2-3           Parma Polyhedra Library (runtime l
ii  libquadmath0          4.6.0-10           GCC Quad-Precision Math Library
ii  zlib1g                1:   compression library - runtime

Versions of packages gcc-4.6 recommends:
ii  libc6-dev                     2.13-4     Embedded GNU C Library: Developmen

Versions of packages gcc-4.6 suggests:
pn  binutils-gold                 <none>     (no description available)
pn  gcc-4.6-doc                   <none>     (no description available)
pn  gcc-4.6-locales               <none>     (no description available)
pn  gcc-4.6-multilib              <none>     (no description available)
pn  libgcc1-dbg                   <none>     (no description available)
pn  libgomp1-dbg                  <none>     (no description available)
pn  libmudflap0-4.6-dev           <none>     (no description available)
pn  libmudflap0-dbg               <none>     (no description available)
pn  libquadmath0-dbg              <none>     (no description available)

-- no debconf information

Reply to: