[egcs 2.96] Illegal instruction generated on SPARC

Miroslav Silovic silovicATzesoi.fer.hr
Thu Sep 16 04:21:00 GMT 1999


[petra]:/tmp/foo>cat test.c 

typedef struct {
   int val;
} Type;

Type foo()
{
   Type p;
   p = foo(p);
   return p;
}

[petra]:/tmp/foo>gcc -S test.c test.c
[petra]:/tmp/foo>cat test.s 
        .file   "test.c"
gcc2_compiled.:
.section        ".text"
        .align 4
        .global foo
        .type    foo,#function
        .proc   010
foo:
        !#PROLOGUE# 0
        save    %sp, -120, %sp
        !#PROLOGUE# 1
        ld      [%fp+64], %l0
        ld      [%fp-20], %o0
        st      %o0, [%fp-24]
        add     %fp, -24, %o0
        add     %fp, -20, %o1
        st      %o1, [%sp+64]
        call    foo, 0
        nop
        unimp   4                ;<----------------------
        ld      [%fp-20], %o0
        st      %o0, [%l0]
        b       .LL2
         nop
.LL2:
        mov     %l0, %i0
        jmp     %i7+12
        restore
.LLfe1:
        .size    foo,.LLfe1-foo
        .ident  "GCC: (GNU) 2.96 19990824 (experimental)"
[petra]:/tmp/foo>uname -a
SunOS petra 5.6 Generic sun4u sparc

-- 
How to eff the ineffable?


More information about the Gcc-bugs mailing list