Linux上的这个GCC错误是什么,我该如何解决?gcc:内部编译器错误:非法指令(程序为)

GKF*_*KFX 6 c gcc raspbian gcc4.6

我输入gcc hello.c,然后出现:

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.
Run Code Online (Sandbox Code Playgroud)

hello.c只是:

int main()
{
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想不出有什么方法可以让它变得更简单!(printf在那里发生了同样的情况.)

那么:你怎么解决这个问题?我在Raspberry Pi上的Raspian上.

编辑

gcc -v给出

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) 
Run Code Online (Sandbox Code Playgroud)

不,我没有安装它.

至于更新,sudo apt-get install gcc给出

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.
Run Code Online (Sandbox Code Playgroud)

是的,你可以运行as,它Illegal instruction没有任何争论.

我不知道交换空间是什么.

gcc -O0 -g hello.c 给出了同样的错误.

gcc不承认--enable-debug.

GKF*_*KFX 3

知道了!我卸载了 gcc,安装了 gcc-4.7,然后……什么也没有。

我清除了 gcc-4.6 的末尾并重新运行sudo apt-get install gcc-4.7......什么也没有。

我更新了 binutils 并且......它起作用了!

所以,as更新 GCC 似乎没有受到影响,但更直接地更新它对我来说是这样。

(从 2.22-7.1 到 2.22-8,如果这对任何人有帮助的话。)

  • 呃:我真的应该提到:“as”是 binutils 的一部分,而不是 gcc 的一部分...... (2认同)