https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79915
Bug ID: 79915 Summary: ICE in final_scan_insn, at final.c:2982 on mips with -mlong-calls Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: jan.smets at nokia dot com Target Milestone: --- During compilation of libstdc++-v3 with -mlong-calls Occurs on mips O32, N32, 64. In both GCC5 and 6. Target I used is a modified mips-wrs-vxworks target with added long-calls multilibs. (the prototype for write() is libtool: compile: /jasmets/git/tools/toolchains/gcc6/gcc-builddir/./gcc/xgcc -shared-libgcc -B/jasmets/git/tools/toolchains/gcc6/gcc-builddir/./gcc -nostdinc++ -L/jasm ets/git/tools/toolchains/gcc6/gcc-builddir/mips-wrs-vxworks/64/64-long/libstdc++-v3/src -L/jasmets/git/tools/toolchains/gcc6/gcc-builddir/mips-wrs-vxworks/64/64-long/li bstdc++-v3/src/.libs -L/jasmets/git/tools/toolchains/gcc6/gcc-builddir/mips-wrs-vxworks/64/64-long/libstdc++-v3/libsupc++/.libs -B/jasmets/git/tools/toolchains/gcc6/pre fix/mips-wrs-vxworks/bin/ -B/jasmets/git/tools/toolchains/gcc6/prefix/mips-wrs-vxworks/lib/ -isystem /jasmets/git/tools/toolchains/gcc6/prefix/mips-wrs-vxworks/include -isystem /jasmets/git/tools/toolchains/gcc6/prefix/mips-wrs-vxworks/sys-include -mabi=64 -mlong-calls -I/jasmets/git/tools/toolchains/gcc6/gcc-builddir/gcc-6.3.1/libstd c++-v3/../libgcc -I/jasmets/git/tools/toolchains/gcc6/gcc-builddir/mips-wrs-vxworks/64/64-long/libstdc++-v3/include/mips-wrs-vxworks -I/jasmets/git/tools/toolchains/gcc 6/gcc-builddir/mips-wrs-vxworks/64/64-long/libstdc++-v3/include -I/jasmets/git/tools/toolchains/gcc6/gcc-builddir/gcc-6.3.1/libstdc++-v3/libsupc++ -std=gnu++98 -fno-imp licit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=c++locale.lo -O2 -fno -optimize-sibling-calls -fno-partial-inlining -fasynchronous-unwind-tables -mabi=64 -mlong-calls -fimplicit-templates -c c++locale.cc -o c++locale.o ../../../../../.././gcc-6.3.1/libstdc++-v3/src/c++98/strstream.cc: In member function 'virtual void std::istrstream::_ZTv0_n24_NSt10istrstreamD1Ev()': ../../../../../.././gcc-6.3.1/libstdc++-v3/src/c++98/strstream.cc:417:1: error: could not split insn } // namespace ^ (insn 5 4 6 (set (reg:DI 2 $2) (high:DI (symbol_ref:DI ("*$LTHUNK0") [flags 0x203] <function_decl 0x7f7074ebd2a0 *$LTHUNK0>))) /jasmets/git/tools/toolchains/gcc6/gcc-builddir/mips-wrs-vxworks /64/64-long/libstdc++-v3/include/backward/strstream:131 286 {*lea_high64} (nil)) ../../../../../.././gcc-6.3.1/libstdc++-v3/src/c++98/strstream.cc:417:1: internal compiler error: in final_scan_insn, at final.c:2982 0xa26ac3 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) .././gcc-6.3.1/gcc/rtl-error.c:108 0x7f3b2b final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*) .././gcc-6.3.1/gcc/final.c:2982 0x7f3d9f final(rtx_insn*, _IO_FILE*, int) .././gcc-6.3.1/gcc/final.c:2045 0xd045ca mips_output_mi_thunk .././gcc-6.3.1/gcc/config/mips/mips.c:17514 0x721604 cgraph_node::expand_thunk(bool, bool) .././gcc-6.3.1/gcc/cgraphunit.c:1647 0x722072 cgraph_node::assemble_thunks_and_aliases() .././gcc-6.3.1/gcc/cgraphunit.c:1923 0x7220d7 cgraph_node::assemble_thunks_and_aliases() .././gcc-6.3.1/gcc/cgraphunit.c:1941 0x722630 cgraph_node::expand() .././gcc-6.3.1/gcc/cgraphunit.c:2053 0x723bb3 expand_all_functions .././gcc-6.3.1/gcc/cgraphunit.c:2126 0x723bb3 symbol_table::compile() .././gcc-6.3.1/gcc/cgraphunit.c:2482 0x72532f symbol_table::finalize_compilation_unit() .././gcc-6.3.1/gcc/cgraphunit.c:2572 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.