[gnu.gcc.bug] gcc 1.32/vax aborting on asm; gdb 3.0 has problem with core file

raeburn@ATHENA.MIT.EDU (Ken Raeburn) (01/02/89)

The following file is causing gcc to abort when compiled with -O
-fcombine-regs -fstrength-reduce.  (And with just -O.)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    struct exec {
	    long	a_magic;	 
    unsigned long	a_text;		 
    unsigned long	a_data;		 
    unsigned long	a_bss;		 
    unsigned long	a_syms;		 
    unsigned long	a_entry;	 
    unsigned long	a_trsize;	 
    unsigned long	a_drsize;	 
    };

    extern unsigned reg_11, reg_10, reg_9;
    extern struct exec x;

    mumble(aio)
	    int aio;
    {

	    asm ("movl %0,r11 ; movl %1,r10 ; movl %2,r9 ; calls $0,%3"
		 :  
		 : "g" (reg_11), "g" (reg_10), "g" (reg_9), "g" (x.a_entry)
		 : "r11", "r10", "r9");
	    return;
    }

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The core file I'm getting is confusing gdb 3.0 a bit; the stack trace
it gives me reports abort() twice:

(gdb) bt
#0  0x519b4 in kill (2823, 4)
#1  0x51999 in abort ()
#2  0x51999 in abort ()
#3  0x4ae05 in insn_extract (insn=(rtx) 0x5eabc) (insn-extract.c line 1847)
#4  0x3ad25 in regclass (f=(rtx) 0x5e85c, nregs=18) (regclass.c line 360)
#5  0x10b31 in rest_of_compilation (decl=(tree) 0x67088) (toplev.c line 1366)
#6  0xa7d5 in finish_function () (c-decl.c line 3430)
#7  0x3762 in yyparse () (c-parse.y line 244)
....

Versions 2.5 (which we still seem to be running by default) and 2.8
only report that frame once.

-- Ken