Compiler crash in cselib_invalidate_regno()
Toshiyasu Morita
tm@netcom.com
Tue Apr 25 19:24:00 GMT 2000
version: gcc CVS
host: i386-linux (RH 6.1)
target: sh-elf
When compiling the file ls_step.i with the options "-O2 -m4-single-only -ml"
cc1 crashes:
Program received signal SIGSEGV, Segmentation fault.
0x8180f45 in cselib_invalidate_regno (regno=24, mode=SFmode) at
../../egcs/gcc/simplify-rtx.c:2872
The code in question looks like:
/* Now, we clear the mapping from value to reg. It must exist, so
this code will crash intentionally if it doesn't. */
for (p = &v->locs; ; p = &(*p)->next)
{
rtx x = (*p)->loc;
...
(xxgdb) print p
$1 = (struct elt_loc_list **) 0x825e8d0
(xxgdb) print *p
$2 = (struct elt_loc_list *) 0x0
(xxgdb)
So, it looks like there is a bad mapping from value to reg created somewhere?
BTW, file ls_step.i is included in stress 1.14 at:
ftp://shell14.ba.best.com/~tm2/stress-1.14.tar.gz
Toshi
More information about the Gcc-bugs
mailing list