http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48168
Summary: [4.7 regression] Solaris 2/SPARC bootstrap broken: ICE in sparc_function_arg_1, at config/sparc/sparc.c:5721 Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org CC: ja...@redhat.com, ebotca...@gcc.gnu.org Host: sparc-sun-solaris2.* Target: sparc-sun-solaris2.* Build: sparc-sun-solaris2.* Created attachment 23692 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23692 preprocessed input file Within the last two days, Solaris 2/SPARC got broken: cc1plus ICEs building the 64-bit streambuf-inst.lo: $ /var/gcc/regression/trunk/11-gcc/build/./gcc/xgcc -shared-libgcc -B/var/gcc/regression/trunk/11-gcc/build/./gcc -nostdinc++ -L/var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/src -L/var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/src/.libs -B/vol/gcc/sparc-sun-solaris2.11/bin/ -B/vol/gcc/sparc-sun-solaris2.11/lib/ -isystem /vol/gcc/sparc-sun-solaris2.11/include -isystem /vol/gcc/sparc-sun-solaris2.11/sys-include -m64 -I/var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/include/sparc-sun-solaris2.11 -I/var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/include -I/vol/gcc/src/hg/trunk/local/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2 -m64 -c /vol/gcc/src/hg/trunk/local/libstdc++-v3/src/streambuf-inst.cc -fPIC -DPIC -o .libs/streambuf-inst.o -save-temps In file included from /var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/include/ios:44:0, from /vol/gcc/src/hg/trunk/local/libstdc++-v3/src/streambuf-inst.cc:30: /var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/include/streambuf: In member function 'std::basic_streambuf<_CharT, _Traits>::pos_type std::basic_streambuf<_CharT, _Traits>::pubseekpos(std::basic_streambuf<_CharT, _Traits>::pos_type, std::ios_base::openmode) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_streambuf<_CharT, _Traits>::pos_type = std::fpos<__mbstate_t>, std::ios_base::openmode = std::_Ios_Openmode]': /var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/include/streambuf:248:45: internal compiler error: in sparc_function_arg_1, at config/sparc/sparc.c:5721 Can be reduced to $ ./cc1plus streambuf-inst.ii -mptr64 -mstack-bias -mno-v8plus -mcpu=v9 -quiet -m64 -g -O2 In file included from /var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/include/ios:44:0, from /vol/gcc/src/hg/trunk/local/libstdc++-v3/src/streambuf-inst.cc:30: /var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/include/streambuf: In member function 'std::basic_streambuf<_CharT, _Traits>::pos_type std::basic_streambuf<_CharT, _Traits>::pubseekpos(std::basic_streambuf<_CharT, _Traits>::pos_type, std::ios_base::openmode) [with _CharT = char, _Traits = std::char_traits<char>, std::basic_streambuf<_CharT, _Traits>::pos_type = std::fpos<__mbstate_t>, std::ios_base::openmode = std::_Ios_Openmode]': /var/gcc/regression/trunk/11-gcc/build/sparc-sun-solaris2.11/sparcv9/libstdc++-v3/include/streambuf:248:45: internal compiler error: in sparc_function_arg_1, at config/sparc/sparc.c:5721 The stack trace is (gdb) where #0 fancy_abort (file=0xa8a790 "/vol/gcc/src/hg/trunk/local/gcc/config/sparc/sparc.c", line=5721, function=0xa8c118 "sparc_function_arg_1") at /vol/gcc/src/hg/trunk/local/gcc/diagnostic.c:893 #1 0x007c5a08 in sparc_function_arg_1 (cum=0xffbfeee4, mode=BLKmode, type=0xff030480, named=1 '\001', incoming_p=0 '\000') at /vol/gcc/src/hg/trunk/local/gcc/config/sparc/sparc.c:5721 #2 0x007a1580 in prepare_call_arguments () at /vol/gcc/src/hg/trunk/local/gcc/var-tracking.c:5736 #3 vt_initialize () at /vol/gcc/src/hg/trunk/local/gcc/var-tracking.c:8785 #4 0x007a81d8 in variable_tracking_main_1 () at /vol/gcc/src/hg/trunk/local/gcc/var-tracking.c:8939 #5 variable_tracking_main () at /vol/gcc/src/hg/trunk/local/gcc/var-tracking.c:8991 #6 0x0051bc5c in execute_one_pass (pass=0xadb758) at /vol/gcc/src/hg/trunk/local/gcc/passes.c:1556 #7 0x0051bfb8 in execute_pass_list (pass=0xadb758) at /vol/gcc/src/hg/trunk/local/gcc/passes.c:1611 #8 0x0051bfdc in execute_pass_list (pass=0xad9b98) at /vol/gcc/src/hg/trunk/local/gcc/passes.c:1612 #9 0x0051bfdc in execute_pass_list (pass=0xad9bcc) at /vol/gcc/src/hg/trunk/local/gcc/passes.c:1612 #10 0x0063a024 in tree_rest_of_compilation (fndecl=0xfe530800) at /vol/gcc/src/hg/trunk/local/gcc/tree-optimize.c:422 #11 0x007db700 in cgraph_expand_function (node=Unhandled dwarf expression opcode 0xf3 ) at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:1576 #12 0x007de178 in cgraph_expand_all_functions () at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:1635 #13 cgraph_optimize () at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:1899 #14 0x007de760 in cgraph_finalize_compilation_unit () at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:1096 #15 0x001918e0 in cp_write_global_declarations () at /vol/gcc/src/hg/trunk/local/gcc/cp/decl2.c:4000 #16 0x005d8ffc in compile_file (argc=10, argv=0xffbff444) at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:591 #17 do_compile (argc=10, argv=0xffbff444) at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:1900 #18 toplev_main (argc=10, argv=0xffbff444) at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:1963 #19 0x000c2804 in _start () Maybe this indicates that Jakub's recent patch 2011-03-16 Jakub Jelinek <ja...@redhat.com> * emit-rtl.c (try_split): Don't call copy_call_info debug hook. * calls.c: Remove debug.h include. (emit_call_1): Don't call virtual_call_token debug hook. Is the culprit?