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: unassig...@gcc.gnu.org ReportedBy: s...@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.