https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64197
Bug ID: 64197 Summary: [5 regression] SPARC bootstrap broken: SEGV in tree_estimate_loop_size Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: critical Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: ebotcazou at gcc dot gnu.org Host: sparc*-sun-solaris2.* Target: sparc*-sun-solaris2.* Build: sparc*-sun-solaris2.* Between 20141128 (r218141) and 20141205 (r218417) SPARC bootstrap got broken compiling the 64-bit stage2 libcc1. The following testcase is extracted from building _ffsdi2.o, but the same happens for many other files: cc1 -fpreprocessed libgcc2.i -mptr64 -mcpu=v9 -quiet -m64 -O2 -o libgcc2.s /vol/gcc/src/hg/trunk/local/libgcc/libgcc2.c: In function '__ffsti2': /vol/gcc/src/hg/trunk/local/libgcc/libgcc2.c:528:1: internal compiler error: Bus Error __ffsDI2 (DWtype u) ^ Running cc1 under gdb finds Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] 0x00903928 in tree_estimate_loop_size(loop*, edge_def*, edge_def*, loop_size*, int) () (gdb) where #0 0x00903928 in tree_estimate_loop_size(loop*, edge_def*, edge_def*, loop_size*, int) () #1 0x00904c60 in canonicalize_loop_induction_variables(loop*, bool, unroll_level, bool) () #2 0x00906388 in tree_unroll_loops_completely_1(bool, bool, vec<loop*, va_heap, vl_ptr>&, loop*) () #3 0x009062f4 in tree_unroll_loops_completely_1(bool, bool, vec<loop*, va_heap, vl_ptr>&, loop*) () #4 0x0090663c in tree_unroll_loops_completely(bool, bool) () #5 0x00906c5c in (anonymous namespace)::pass_complete_unrolli::execute(function*) () #6 0x006ddd0c in execute_one_pass(opt_pass*) () #7 0x006de1f4 in execute_pass_list_1(opt_pass*) [clone .constprop.71] () #8 0x006de218 in execute_pass_list_1(opt_pass*) [clone .constprop.71] () #9 0x006de25c in execute_pass_list(function*, opt_pass*) () #10 0x0039a6fc in cgraph_node::expand() () #11 0x0039c388 in symbol_table::compile() () #12 0x0039e1c0 in symbol_table::finalize_compilation_unit() () #13 0x00226a60 in c_write_global_declarations() () #14 0x007b045c in compile_file() () #15 0x00e99620 in toplev::main(int, char**) () #16 0x00e9a044 in main () Rainer