Internal Error

Alan Carvalho de Assis acassis@gmail.com
Sun May 27 14:07:00 GMT 2007


Hi guys,
I am compiling uClibc-0.9.28 and get a gcc internal error:

gcc   -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
-march=i686 -fno-stack-protector -fno-builtin -nostdinc -D_LIBC
-I../../../../include -I.  -mpreferred-stack-boundary=2
-falign-jumps=0 -falign-loops=0 -Os -funit-at-a-time   -isystem
/usr/lib/gcc/i486-linux-gnu/4.1.2/include -DNDEBUG -fPIC  -c setjmp.S
-o setjmp.o
setjmp.S: Assembler messages:
setjmp.S:54: Internal error!
Assertion failure in operand at ../../gas/expr.c line 1310.
Please report this bug.
make[6]: *** [setjmp.o] Error 1
make[6]: Leaving directory

This error is happening at line 54:

    45  #ifdef  __PIC__
    46          /* We cannot use the PLT, because it requires that
%ebx be set, but
    47             we can't save and restore our caller's value.
Instead, we do an
    48             indirect jump through the GOT, using for the
temporary register
    49             %ecx, which is call-clobbered.  */
    50          call .Lhere
    51  .Lhere:
    52          popl %ecx
    53          addl $_GLOBAL_OFFSET_TABLE_+[.- .Lhere  ], %ecx
    54          movl    __sigjmp_save    @GOT  (%ecx), %ecx
    55          jmp *%ecx
    56  #else
    57          jmp   __sigjmp_save
    58  #endif

I tested gcc 4.1, 3.4 and 3.3 and this error happen for all.
I'm compiling it on debian unstable.

I searched at google and gcc mailing list archive and don't found
anything about it.

Can you please me help to solve it?

Cheers,

Alan



More information about the Gcc-help mailing list