What is this GCC error on Linux, and how do I solve it? gcc: internal compiler error: Illegal instruction (program as)

GKFX picture GKFX · May 13, 2013 · Viewed 12.9k times · Source

I type gcc hello.c and this appears:

gcc: internal compiler error: Illegal instruction (program as)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions.

hello.c is just:

int main()
{
 return 0;
}

I can't think of any way to make it simpler! (The same happened with printf in there.)

So: how do you fix this? I'm on Raspian, on Raspberry Pi.

Edit

gcc -v gives

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-14+rpi1' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.6.3 (Debian 4.6.3-14+rpi1) 

No I didn't install it.

As for updates, sudo apt-get install gcc gives

Reading package lists... Done
Building dependency tree       
Reading state information... Done
gcc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Yes, you can run as, it says Illegal instruction with no arguments.

I have no idea what swap space is.

gcc -O0 -g hello.c gives the same error.

gcc does not recognise --enable-debug.

Answer

GKFX picture GKFX · May 17, 2013

Got it! I uninstalled gcc, installed gcc-4.7, and ... nothing.

I cleared out the end of gcc-4.6 and re-ran sudo apt-get install gcc-4.7 and ... nothing.

I updated binutils and ... it worked!

So, as didn't appear to be affected by updating GCC, but updating it more directly did it for me.

(It was from 2.22-7.1 to 2.22-8, if that helps anyone.)