https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92783
Bug ID: 92783 Summary: [10 regression] SEGV in field_byte_offset Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal 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 Target Milestone: --- Target: sparc-sun-solaris2.11 Between 20191202 (r278904) and 20191203 (r278942), Solaris/SPARC Ada bootstrap got broken: /var/gcc/regression/trunk/11.5-gcc/build/./gcc/xgcc -B/var/gcc/regression/trunk/11.5-gcc/build/./gcc/ -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 -fchecking=1 -c -g -O2 -m64 -fPIC -W -Wall -gnatpg -nostdinc -m64 s-interr.adb -o s-interr.o raised CONSTRAINT_ERROR : SIGSEGV The failure can be reproduced with $ gnat1 -quiet -nostdinc -O2 -g -m64 -gnatpg -mcpu=v9 -mptr64 -mstack-bias -mno-v8plus -gnatO s-interr.o s-interr.adb -o s-interr.s Thread 2 received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] 0x00c2d3d0 in field_byte_offset (cst_offset=0xffbfd768, ctx=0xffbfd908, decl=0xfa901340) at /vol/gcc/src/hg/trunk/local/gcc/tree.h:3530 3530 return __t; 1: x/i $pc => 0xc2d3d0 <add_data_member_location_attribute(dw_die_ref, tree, vlr_context*)+224>: lduh [ %g1 ], %g1 (gdb) p/x $g1 $1 = 0x0 (gdb) where #0 0x00c2d3d0 in field_byte_offset (cst_offset=0xffbfd768, ctx=0xffbfd908, decl=0xfa901340) at /vol/gcc/src/hg/trunk/local/gcc/tree.h:3530 #1 add_data_member_location_attribute (die=0xfaa25f50, decl=0xfa901340, ctx=0xffbfd908) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:19425 #2 0x00c2deb8 in gen_field_die (context_die=<optimized out>, ctx=0xffbfd908, decl=0xfa901340) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:24408 #3 gen_field_die (decl=0xfa901340, ctx=0xffbfd908, context_die=<optimized out>) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:24380 #4 0x00c10e20 in gen_decl_die (decl=0xfa901340, origin=0x0, ctx=0xffbfd908, context_die=0xfaa25e90) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:26548 #5 0x00c14178 in gen_member_die (context_die=<optimized out>, type=0xfa9049c0) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:25298 #6 gen_struct_or_union_type_die (usage=<optimized out>, context_die=0xfa82e000, type=0xfa9049c0) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:25394 #7 gen_tagged_type_die (type=0xfa9049c0, context_die=0xfa82e000, usage=<optimized out>) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:25595 #8 0x00c15904 in gen_tagged_type_die (usage=DINFO_USAGE_DIR_USE, context_die=0xfa82e000, type=0xfa9049c0) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:4256 #9 gen_type_die_with_usage (type=0xfa9049c0, context_die=0xfa82e000, usage=DINFO_USAGE_DIR_USE) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:25790 #10 0x00c17708 in gen_type_die (type=0xfa9049c0, context_die=0xfa82e000) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:25844 #11 0x00c178d0 in add_gnat_descriptive_type_attribute (die=0xfaa25560, type=0xfa904300, context_die=0xfa82e000) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:20713 #12 0x00c14190 in gen_struct_or_union_type_die (usage=<optimized out>, context_die=0xfa82e000, type=0xfa904300) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:25396 #13 gen_tagged_type_die (type=0xfa904300, context_die=0xfa82e000, usage=<optimized out>) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:25595 #14 0x00c15904 in gen_tagged_type_die (usage=DINFO_USAGE_DIR_USE, context_die=0xfa82e000, type=0xfa904300) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:4256 #15 gen_type_die_with_usage (type=0xfa904300, context_die=0xfa82e000, usage=DINFO_USAGE_DIR_USE) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:25790 #16 0x00c17708 in gen_type_die (type=0xfa904300, context_die=0xfa82e000) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:25844 #17 0x00c18148 in modified_type_die (type=0xfa904300, cv_quals=0, reverse=<optimized out>, context_die=0xfa82e000) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:13446 #18 0x00c19cf4 in force_type_die (type=0xfa904300) at /vol/gcc/src/hg/trunk/local/gcc/tree.h:3397 #19 0x00c19dc4 in force_type_die (type=0xfa904300) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:26218 #20 get_context_die (context=0xfa904300) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:26138 #21 get_context_die (context=<optimized out>) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:26130 #22 force_type_die (type=0xfa9043c0) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:26220 #23 0x00c1a030 in force_type_die (type=0xfa9043c0) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:26218 #24 get_context_die (context=0xfa9043c0) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:26138 #25 0x00c15fa8 in gen_descr_array_type_die (context_die=0xfa82e000, info=0xffbfe0a0, type=0xfa904540) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:25712 #26 gen_type_die_with_usage (type=0xfa904540, context_die=0xfa82e000, usage=DINFO_USAGE_DIR_USE) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:25712 #27 0x00c17708 in gen_type_die (type=0xfa904540, context_die=0xfa82e000) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:25844 #28 0x00c10a28 in gen_decl_die (decl=0xfa900c60, origin=<optimized out>, ctx=<optimized out>, context_die=0xfa82e000) at /vol/gcc/src/hg/trunk/local/gcc/tree.h:3388 #29 0x00c12628 in dwarf2out_decl (decl=0xfa900c60) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:27017 #30 0x00c12cac in dwarf2out_type_decl (local=0, decl=0xfa900c60) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:26744 #31 dwarf2out_type_decl (decl=0xfa900c60, local=0) at /vol/gcc/src/hg/trunk/local/gcc/dwarf2out.c:26739 #32 0x006516ac in gnat_write_global_declarations () at /vol/gcc/src/hg/trunk/local/gcc/ada/gcc-interface/utils.c:5804 #33 0x00638478 in gnat_parse_file () at /vol/gcc/src/hg/trunk/local/gcc/ada/gcc-interface/misc.c:119 #34 0x010bdcc0 in compile_file () at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:458 #35 0x010c0960 in do_compile () at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:2267 #36 toplev::main (this=0xffbfe60e, argc=<optimized out>, argv=<optimized out>) at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:2406 #37 0x0197c5e8 in main (argc=26, argv=0xffbfe674) at /vol/gcc/src/hg/trunk/local/gcc/main.c:39 No patch in that range is immediately obvious, so I'll have to run a reghunt.