This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
reload segfault
- To: egcs at cygnus dot com
- Subject: reload segfault
- From: Bill Currie <bill at taniwha dot tssc dot co dot nz>
- Date: Sun, 24 Jan 1999 09:52:07 +1300
First off, this is with a heavily modified i860 port of yesterday's CVS
tree, so it's *probably* my fault. The problem insn is occurring in
__bb_exit_func (ie I can't 1st stage bootstrap).
I'm getting a segmentation fault in reload_cse_noop_set_p with the
following insn:
(insn 1396 1393 455 (set (reg:SI 30 r30)
(reg:SI 169)) 56 {bleu+1} (nil)
(nil))
at line 8901 of reload1.c
8897 for (x = reg_values[sreg]; x; x = XEXP (x, 1))
8898 {
8899 rtx tmp;
8900
8901 if (XEXP (x, 0) == 0)
8902 continue;
To me, the symptom is obvious: sreg is 169, much higher than
FIRST_PSEUDO_REGISTER. Now, the question is: who is wrong? Is there a
bug in reload_cse_noop_set_p where it should be checking the register
number first, or did I screw up somewhere and cause a pseudo reg to show
up where it shouldn't?
Here's the traceback:
#0 0x1fb018 in reload_cse_noop_set_p (set=0x3a74b0, insn=0x3a7500)
at ../../egcs/gcc/reload1.c:8901
#1 0x1fa590 in reload_cse_regs_1 (first=0x344758)
at ../../egcs/gcc/reload1.c:8661
#2 0x1fabf4 in reload_cse_regs (first=0x344758)
at ../../egcs/gcc/reload1.c:8806
#3 0xa68c in rest_of_compilation (decl=0x343240)
at ../../egcs/gcc/toplev.c:3979
#4 0x262a7c in finish_function (nested=0) at
../../egcs/gcc/c-decl.c:7272
#5 0x243b24 in yyparse () at ../../egcs/gcc/c-parse.c:313
#6 0x6f84 in compile_file (name=0x7ffffe31 "f.c")
at ../../egcs/gcc/toplev.c:2899
#7 0xd618 in main (argc=3, argv=0x7ffffd74) at
../../egcs/gcc/toplev.c:5192
#8 0x2474 in _start ()
Bill
--
Leave others their otherness.