[Bug target/41240] [4.5 regression] ICE: in get_attr_got, at config/mips/mips.md:455 building stage1 N64 libgcc

ro at techfak dot uni-bielefeld dot de gcc-bugzilla@gcc.gnu.org
Thu Sep 3 12:45:00 GMT 2009



------- Comment #3 from ro at techfak dot uni-bielefeld dot de  2009-09-03 12:45 -------
Subject: Re:  [4.5 regression] ICE: in get_attr_got, at config/mips/mips.md:455
building stage1 N64 libgcc

> ------- Comment #1 from ubizjak at gmail dot com  2009-09-03 11:17 -------
> get_attr_* does not work with DEBUG_INSN instructions. Backtrace will tell you
> where to put NONDEBUG_INSN_P instead of INSN_P.

Unfortunately, gdb 6.8 cannot cope with the debug information created by
either gcc 3.4.5 (my current bootstrap compiler) or mainline as of 20090828
(pre-VTA):

#0  fancy_abort (file=0x10fd1be0
"/vol/gcc/src/gcc-dist/gcc/config/mips/mips.md", line=455, function=0x10fd8590
"get_attr_got") at /vol/gcc/src/gcc-dist/gcc/diagnostic.c:728
#1  0x10aab0f4 in _fatal_insn (msgid=0x10fe9df8 "unrecognizable insn:",
insn=0x41b8c60, file=0x10fd1be0
"/vol/gcc/src/gcc-dist/gcc/config/mips/mips.md", line=455, function=0x10fd8590
"get_attr_got") at /vol/gcc/src/gcc-dist/gcc/rtl-error.c:112
#2  0x10aab158 in _fatal_insn_not_found (insn=0x41b8c60, file=0x10fd1be0
"/vol/gcc/src/gcc-dist/gcc/config/mips/mips.md", line=455, function=0x10fd8590
"get_attr_got") at /vol/gcc/src/gcc-dist/gcc/rtl-error.c:120
#3  0x10a06d9c in get_attr_got (insn=0x41b8c60) at
/vol/gcc/src/gcc-dist/gcc/config/mips/mips.md:455
#4  0x10232148 in ?? ()
#5  0x10232434 in ?? ()
#6  0x10232d78 in ?? ()
#7  0x10234098 in mips_initial_elimination_offset (from=77, to=29) at
/vol/gcc/src/gcc-dist/gcc/config/mips/mips.c:9124
#8  0x101fdc54 in ?? ()
#9  0x101f3ce8 in reload (first=0x41b8600, global=1) at
/vol/gcc/src/gcc-dist/gcc/reload1.c:971
#10 0x101d8c58 in ?? ()
#11 0x101d92a8 in ?? ()
#12 0x1070fd38 in ?? ()
#13 0x10710184 in execute_pass_list (pass=0x11067900) at
/vol/gcc/src/gcc-dist/gcc/passes.c:1341
#14 0x107101b0 in execute_pass_list (pass=0x11069310) at
/vol/gcc/src/gcc-dist/gcc/passes.c:1342
#15 0x10c15be8 in tree_rest_of_compilation (fndecl=0x412dd00) at
/vol/gcc/src/gcc-dist/gcc/tree-optimize.c:390
#16 0x10acbcd8 in ?? ()
#17 0x10acbfc4 in ?? ()
#18 0x10acca44 in ?? ()
#19 0x10acb840 in cgraph_finalize_compilation_unit () at
/vol/gcc/src/gcc-dist/gcc/cgraphunit.c:1042
#20 0x100b22a4 in c_write_global_declarations () at
/vol/gcc/src/gcc-dist/gcc/c-decl.c:9378
#21 0x101c2e54 in ?? ()
#22 0x101c63c8 in ?? ()
#23 0x101c6528 in toplev_main (argc=5, argv=0x7ffb7ef4) at
/vol/gcc/src/gcc-dist/gcc/toplev.c:2414
#24 0x101a5d40 in main (argc=5, argv=0x7ffb7ef4) at
/vol/gcc/src/gcc-dist/gcc/main.c:35

The line number in mips.md is useless since it's inside a comment.

The 4.5 backtrace is even less useful since gdb aborts at some point:

#0  fancy_abort (file=0x11001a98
"/vol/gcc/src/gcc-dist/gcc/config/mips/mips.md", line=455, function=0x1100eaf0
"get_attr_got") at /vol/gcc/src/gcc-dist/gcc/diagnostic.c:728
#1  0x10aab1ac in _fatal_insn (msgid=0x11019cc0 "unrecognizable insn:",
insn=0x41b8c60, file=0x11001a98
"/vol/gcc/src/gcc-dist/gcc/config/mips/mips.md", line=455, function=0x1100eaf0
"get_attr_got") at /vol/gcc/src/gcc-dist/gcc/rtl-error.c:112
#2  0x10aab214 in _fatal_insn_not_found (insn=0x41b8c60, file=0x11001a98
"/vol/gcc/src/gcc-dist/gcc/config/mips/mips.md", line=455, function=0x1100eaf0
"get_attr_got") at /vol/gcc/src/gcc-dist/gcc/rtl-error.c:120
#3  0x109fe898 in get_attr_got (insn=0x41b8c60) at
/vol/gcc/src/gcc-dist/gcc/config/mips/mips.md:455
#4  0x102310b8 in ?? ()
warning: GDB can't find the start of the function at 0x102310b7.

    GDB is unable to find the start of the function at 0x102310b7
and thus can't determine the size of that function's stack frame.
This means that GDB may be unable to access that stack frame, or
the frames below it.
    This problem is most likely caused by an invalid program counter or
stack pointer.
    However, if you think GDB should simply search farther back
from 0x102310b7 for code which looks like the beginning of a
function, you can increase the range of the search using the `set
heuristic-fence-post' command.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

I'm sort of stuck now.

        Rainer


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41240



More information about the Gcc-bugs mailing list