http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52372
Bug #: 52372
Summary: gcc.target/mips/mips16-attributes{,-4}.c SEGV in
dwf_regno
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Host: mips-sgi-irix6.5
Target: mips-sgi-irix6.5
Build: mips-sgi-irix6.5
The mips16-attributes{, -4}.c tests ICE on IRIX 6:
FAIL: gcc.target/mips/mips16-attributes-4.c (internal compiler error)
FAIL: gcc.target/mips/mips16-attributes-4.c (test for excess errors)
FAIL: gcc.target/mips/mips16-attributes.c (internal compiler error)
FAIL: gcc.target/mips/mips16-attributes.c (test for excess errors)
In the first case, I find:
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/mips/mips16-attributes-4.c:
In function 'bar':
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/mips/mips16-attributes-4.c:9:1:
internal compiler error: Segmentation fault
The failure boils down to
$ cc1 -fpreprocessed mips16-attributes-4.i -quiet -mabi=o64 -mlong32 -mno-synci
-o mips16-attributes-4.s
In gdb,I see
Program received signal SIGSEGV, Segmentation fault.
0x104b4048 in dwf_regno (reg=0x40280b8) at
/vol/gcc/src/hg/trunk/local/gcc/dwarf2cfi.c:912
(gdb) p reg
$1 = (const_rtx) 0x40280b8
(gdb) pr
(pc)
(gdb) where
#0 0x104b4048 in dwf_regno (reg=0x40280b8) at
/vol/gcc/src/hg/trunk/local/gcc/dwarf2cfi.c:912
#1 dwarf2out_flush_queued_reg_saves () at
/vol/gcc/src/hg/trunk/local/gcc/dwarf2cfi.c:994
#2 0x104b56d4 in dwarf2out_frame_debug (insn=0x40f05e0) at
/vol/gcc/src/hg/trunk/local/gcc/dwarf2cfi.c:2038
#3 scan_insn_after (insn=insn@entry=0x4033048) at
/vol/gcc/src/hg/trunk/local/gcc/dwarf2cfi.c:2361
#4 0x104b6b74 in scan_trace (trace=<optimized out>) at
/vol/gcc/src/hg/trunk/local/gcc/dwarf2cfi.c:2505
#5 0x104b7e0c in create_cfi_notes () at
/vol/gcc/src/hg/trunk/local/gcc/dwarf2cfi.c:2549
#6 execute_dwarf2_frame () at /vol/gcc/src/hg/trunk/local/gcc/dwarf2cfi.c:2907
#7 0x104f5bec in execute_one_pass (pass=pass@entry=0x10dc3708) at
/vol/gcc/src/hg/trunk/local/gcc/passes.c:2081
#8 0x104f6088 in execute_pass_list (pass=0x10dc3708) at
/vol/gcc/src/hg/trunk/local/gcc/passes.c:2136
#9 0x104f60a4 in execute_pass_list (pass=0x10dc3970) at
/vol/gcc/src/hg/trunk/local/gcc/passes.c:2137
#10 0x104f60a4 in execute_pass_list (pass=0x10dc39a8) at
/vol/gcc/src/hg/trunk/local/gcc/passes.c:2137
#11 0x1078c50c in tree_rest_of_compilation (fndecl=0x40b9100) at
/vol/gcc/src/hg/trunk/local/gcc/tree-optimize.c:422
#12 0x105d533c in cgraph_expand_function (node=0x40d80a8) at
/vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:1837
#13 0x105d7564 in cgraph_output_in_order () at
/vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2002
#14 cgraph_optimize () at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2213
#15 0x105d792c in cgraph_finalize_compilation_unit () at
/vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:1344
#16 0x10187cf4 in c_write_global_declarations () at
/vol/gcc/src/hg/trunk/local/gcc/c-decl.c:10031
#17 0x10277148 in compile_file () at
/vol/gcc/src/hg/trunk/local/gcc/toplev.c:573
#18 do_compile () at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:1938
#19 toplev_main (argc=9, argv=0x7ffb7f04) at
/vol/gcc/src/hg/trunk/local/gcc/toplev.c:2014
#20 0x101723f0 in __start ()
I didn't easily see how to find the equivalent of REGNO(reg) in dwf_regno.
Rainer