🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gcc.bug
Article #791

gcc 1.36 i386v bug

#791
From: James Van Artsdalen
Date: Tue, 14 Nov 1989 21:45
123 lines
4145 bytes
config.gcc i386v.  If the following file is compiled by gcc without
optimization, gcc aborts.  If any short in struct a, or any local int
in k(), is deleted, gcc gets a segmentation fault.  If f() or k() are
removed, gcc does not abort or get a fault.
-----
struct a {
  short b;
  short c;
  short d;
  short e;
};

f()
{
     struct { struct a g, h, i; } j;
}

int k()
{
     int l;
     int m;
     int n;
     struct a *o;
     struct { struct a p, q, r; } s;
}
-----
raid:/usr/local/src/gcc-1.36/i386> gdb cc1
GDB 3.3, Copyright (C) 1989 Free Software Foundation, Inc.
There is ABSOLUTELY NO WARRANTY for GDB; type "info warranty" for details.
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "info copying" to see the conditions.
Reading symbol data from /usr/local/src/gcc-1.36/i386/cc1...done.
Breakpoint 1 at 0x73160
Type "help" for a list of commands.
(gdb) run -version q.i
Starting program: /usr/local/src/gcc-1.36/i386/cc1 -version q.i
GNU C version 1.36 (80386, ATT syntax) compiled by GNU C version 1.36.
default target switches: -m80387
 f k
Bpt 1, 0x73160 in abort ()
(gdb) bt
#0  0x73160 in abort ()
#1  0x1ec5d in convert_move (to=(rtx) 0x40c5e0, from=(rtx) 0xce, unsignedp=0) (expr.c line 601)
#2  0x2023c in store_expr (exp=(union tree_node *) 0x40c3ac, target=(rtx) 0x40c5e0, suggest_reg=0, 28) (expr.c line 1851)
#3  0x20d40 in expand_expr (exp=(union tree_node *) 0x40c5c4, target=(rtx) 0x0, tmode=VOIDmode, modifier=EXPAND_NORMAL) (expr.c line 2268)
#4  0x19066 in variable_size ()
#5  0x19e13 in layout_type ()
#6  0xc071 in finish_struct ()
#7  0x46dd in yyparse ()
#8  0x139ba in compile_file (2147482978)
#9  0x1503d in main (Error reading memory address 0x253bd82a: I/O error (5).
(gdb) fr 1
#1  0x1ec5d in convert_move (to=(rtx) 0x40c5e0, from=(rtx) 0xce, unsignedp=0) (expr.c line 601)
601	  abort ();
(gdb) list
596	#endif
597	      abort ();
598	    }
599	
600	  /* Mode combination is not recognized.  */
601	  abort ();
602	}
603	
604	/* Return an rtx for a value that would result
605	   from converting X to mode MODE.
(gdb) p to
$1 = (rtx) 0x40c5e0
(gdb) pr
(reg:L 10)
(gdb) p from
$2 = (rtx) 0xce
(gdb) info locals
to = (rtx) 0x40c5e0
from = (rtx) 0xce
(gdb) fr 2
#2  0x2023c in store_expr (exp=(union tree_node *) 0x40c3ac, target=(rtx) 0x40c5e0, suggest_reg=0, 28) (expr.c line 1851)
1851		    convert_move (target, temp, unsignedp);
(gdb) info locals
unsignedp = 0
temp = (rtx) 0xce
dont_return_target = 0
exp = (union tree_node *) 0x40c3ac
target = (rtx) 0x40c5e0
(gdb) p target
$3 = (rtx) 0x40c5e0
(gdb) pr

(reg:L 10)
(gdb) fr 3
#3  0x20d40 in expand_expr (exp=(union tree_node *) 0x40c5c4, target=(rtx) 0x0, tmode=VOIDmode, modifier=EXPAND_NORMAL) (expr.c line 2268)
2268		  store_expr (TREE_OPERAND (exp, 0), reg, 0);
(gdb) info locals
reg = (rtx) 0x40c5e0
op0 = (rtx) 0x40c578
op1 = (rtx) 0x0
temp = (rtx) 0x0
type = (union tree_node *) 0xfffffff4
mode = MAX_MACHINE_MODE
code = SAVE_EXPR
this_optab = (optab) 0x72
negate_1 = 91391
subtarget = (rtx) 0x0
original_target = (rtx) 0x0
ignore = 0
exp = (union tree_node *) 0x40c5c4
(gdb) p reg
$4 = (rtx) 0x40c5e0
(gdb) pr

(reg:L 10)
(gdb) p op0
$5 = (rtx) 0x40c578
(gdb) pr

(L (nil) NOTE_INSN_FUNCTION_BEGswitch format wrong in rtl.print_rtx(). format was: t.

Bpt 1, 0x73160 in abort (4220604, 117638, 116)
Cannot continue previously requested operation.
Unable to restore previously selected frame.
(gdb) 
-- 
James R. Van Artsdalen          james@raid.dell.com       "Live Free or Die"
DCC Corporation       9505 Arboretum Blvd Austin TX 78759       512-338-8789
Technical Details
Message-ID: <4236@dell.dell.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watmath!uunet!cs.utexas.edu!ut-emx!dell!raid.dell.com!james

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watmath!uunet!cs.utexas.edu!ut-emx!dell!raid.dell.com!james
From: james@raid.dell.com (James Van Artsdalen)
Newsgroups: gnu.gcc.bug
Subject: gcc 1.36 i386v bug
Message-ID: <4236@dell.dell.com>
Date: 14 Nov 89 21:45:29 GMT
Sender: news@dell.dell.com
Reply-To: james@raid.dell.com (James Van Artsdalen)
Distribution: gnu
Organization: Institute for Applied Cosmology
Lines: 123