https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104781
Bug ID: 104781 Summary: [12 regression] SEGV in _Unwind_GetGR during i386 Ada bootstrap Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: hjl at gcc dot gnu.org Target Milestone: --- Target: i?86-pc-solaris2.11 Between 20220303 (c083e654bd0f29a365ec957c4c0d4e713fb0b010) and 20220304 (49bc9c6c1ef9441c3db586882e1985da3be9cfa1), 32-bit Solaris/x86 Ada bootstrap got broken: in stage3, I see xgcc: internal compiler error: Segmentation Fault signal terminated program gnat1 Please submit a full bug report, with preprocessed source (by using -freport-bug). See <https://gcc.gnu.org/bugs/> for instructions. make[3]: *** [/vol/gcc/src/hg/master/local/gcc/ada/gcc-interface/Make-lang.in:167: ada/casing.o] Error 4 /var/gcc/regression/master/11.4-gcc/build/./prev-gcc/gnat1 -I - -I . -I ada/generated -I ada -I /vol/gcc/src/hg/master/local/gcc/ada -I ada/libgnat -I /vol/gcc/src/hg/master/local/gcc/ada/libgnat -I ada/gcc-interface -I /vol/gcc/src/hg/master/local/gcc/ada/gcc-interface -quiet -nostdinc -O2 -Wextra -Wall -dumpdir ada/ -dumpbase casing.adb -dumpbase-ext .adb -gnatwa -fchecking=1 -g -fchecking=1 -gnatpg -gnata -mtune=generic -march=pentium4 -gnatO ada/casing.o /vol/gcc/src/hg/master/local/gcc/ada/casing.adb -o casing.s Thread 2 received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] _Unwind_GetGR (regno=5, context=0xfeffc110) at /vol/gcc/src/hg/master/local/libgcc/unwind-dw2.c:251 251 return * (_Unwind_Ptr *) (_Unwind_Internal_Ptr) val; (gdb) bt #0 _Unwind_GetGR (regno=5, context=0xfeffc110) at /vol/gcc/src/hg/master/local/libgcc/unwind-dw2.c:251 #1 execute_stack_op (op_ptr=0xb0209f9 "\004e\001", op_ptr@entry=0xb0209f7 "ul\004e\001", op_end=op_end@entry=0xb0209f9 "\004e\001", context=context@entry=0xfeffc110, initial=<optimized out>) at /vol/gcc/src/hg/master/local/libgcc/unwind-dw2.c:705 #2 0x0abd2fb7 in uw_update_context_1 (context=context@entry=0xfeffc2d0, fs=fs@entry=0xfeffc1e0) at /vol/gcc/src/hg/master/local/libgcc/unwind-dw2.c:1483 #3 0x0abd40bd in uw_init_context_1 (context=context@entry=0xfeffc2d0, outer_cfa=outer_cfa@entry=0xfeffc4b0, outer_ra=<optimized out>) at /vol/gcc/src/hg/master/local/libgcc/unwind-dw2.c:1613 #4 0x0abd4792 in _Unwind_RaiseException (exc=0xce14220) at /vol/gcc/src/hg/master/local/libgcc/unwind.inc:93 #5 0x09223417 in ada.exceptions.exception_propagation.propagate_gcc_exception () #6 0x09223461 in ada.exceptions.exception_propagation.propagate_exception () #7 0x09223874 in ada.exceptions.complete_and_propagate_occurrence () #8 0x09223899 in __gnat_raise_exception () #9 0x0921ffcf in system.perfect_hash_generators.compute () #10 0x08f3fc06 in exp_imgv.build_enumeration_image_tables () #11 0x08eb86e6 in exp_ch13.expand_n_freeze_entity () #12 0x08f6c2c5 in expander.expand () #13 0x0900abc9 in sem.analyze () #14 0x0900c011 in sem.insert_list_before_and_analyze () #15 0x08f5b39f in exp_util.insert_actions.part () #16 0x08f7ee6f in freeze.freeze_expression () #17 0x0916ff2b in sem_res.resolve () #18 0x09176bc2 in sem_res.resolve_range () #19 0x09170b2d in sem_res.resolve () #20 0x09090e6d in sem_ch3.process_range_expr_in_decl () #21 0x09091ca0 in sem_ch3.set_scalar_range_for_subtype () #22 0x0909317d in sem_ch3.process_subtype () #23 0x09094947 in sem_ch3.analyze_subtype_declaration () #24 0x0900ae9d in sem.analyze () #25 0x09084b93 in sem_ch3.analyze_declarations () #26 0x090def7b in sem_ch7.analyze_package_specification () #27 0x0900b49b in sem.analyze () #28 0x090e1a5e in sem_ch7.analyze_package_declaration () #29 0x0900adcf in sem.analyze () #30 0x09039fa9 in sem_ch10.analyze_compilation_unit () #31 0x0900b112 in sem.analyze () #32 0x0900c611 in sem.semantics () #33 0x0903a31a in sem_ch10.analyze_compilation_unit () #34 0x0900b112 in sem.analyze () #35 0x0900c611 in sem.semantics () #36 0x08f82689 in frontend () #37 0x09230fcd in gnat1drv () #38 0x08da2142 in gnat_parse_file() () #39 0x0980c91d in compile_file() () #40 0x0980fe4a in toplev::main(int, char**) () #41 0x0a855761 in main () (gdb) p val $1 = (_Unwind_Context_Reg_Val) 0x0 I'm higly suspicious of commit 609e8c492d62d92465460eae3d43dfc4b2c68288 Author: H.J. Lu <hjl.to...@gmail.com> Date: Sat Feb 26 14:17:23 2022 -0800 x86: Always return pseudo register in ix86_gen_scratch_sse_rtx and am current re-bootstrapping with that patch reverted locally.