[Bug target/56942] New: MIPS GCC will not build with -mips16 mode because libgcc fails to build
sje at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Apr 12 22:02:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56942
Bug #: 56942
Summary: MIPS GCC will not build with -mips16 mode because
libgcc fails to build
Classification: Unclassified
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: sje@gcc.gnu.org
Target: mips*-*-*
While building a MIPS GCC that includes mips16 libraries I get an assertion
from GCC. Here is a testcase cutdown from libgcc unwind-dw2.c:
enum dwarf_call_frame_info {
DW_CFA_set_loc = 0x01 ,
DW_CFA_advance_loc1 = 0x02 ,
DW_CFA_advance_loc2 = 0x03 ,
DW_CFA_GNU_args_size = 0x2e ,
DW_CFA_GNU_negative_offset_extended = 0x2f
};
typedef struct { void *pc; } _Unwind_FrameState;
void execute_cfa_program (const unsigned char *insn_ptr,
const unsigned char *insn_end,
_Unwind_FrameState *fs)
{
while (insn_ptr < insn_end) {
unsigned char insn = *insn_ptr++;
void *reg;
void *utmp;
switch (insn) {
case DW_CFA_set_loc: { }
case DW_CFA_advance_loc1: fs->pc += foo (insn_ptr) * 4;
case DW_CFA_advance_loc2: fs->pc += foo (insn_ptr) * 4;
case DW_CFA_GNU_args_size: insn_ptr = bar (insn_ptr, &utmp);
case DW_CFA_GNU_negative_offset_extended: insn_ptr = bar
(insn_ptr,
®);
}
}
}
And here is the assertion I get:
gcc/cc1 -quiet -g -mips16 -O2 -minterlink-mips16 -fPIC -g
-I/local/home/sellcey/nightly/src x.c
x.c:25:1: internal compiler error: in output_555, at config/mips/mips.md:6024
0xb8fc19 output_555
/local/home/sellcey/nightly/src/gcc/gcc/config/mips/mips.md:6024
0x6b60e2 final_scan_insn(rtx_def*, _IO_FILE*, int, int, int*)
/local/home/sellcey/nightly/src/gcc/gcc/final.c:2853
0x6b6c8f final(rtx_def*, _IO_FILE*, int)
/local/home/sellcey/nightly/src/gcc/gcc/final.c:1957
0x6b6eb9 rest_of_handle_final
/local/home/sellcey/nightly/src/gcc/gcc/final.c:4332
Please submit a full bug report,
with preprocessed source if appropriate.
More information about the Gcc-bugs
mailing list