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.

Reply via email to