https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63333

            Bug ID: 63333
           Summary: lto, 1to1 segmentation fault
           Product: gcc
           Version: 4.9.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: a...@cloudius-systems.com

A random change (adding a new virtual function) in a program produced this.  I
realize this is not sufficient to reproduce, but maybe this can jog someone's
memory.  If not, I can try to minimize.

(gdb) bt
#0  0x00007f2f900bd887 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007f2f900bef78 in __GI_abort () at abort.c:89
#2  0x00000000009eed13 in real_abort () at ../../gcc/diagnostic.c:1200
#3  diagnostic_action_after_output (context=context@entry=0x167a700
<global_diagnostic_context>, diagnostic=0x7fffb8503f60) at
../../gcc/diagnostic.c:447
#4  0x0000000000eede6e in diagnostic_report_diagnostic(diagnostic_context*,
diagnostic_info*) () at ../../gcc/diagnostic.c:804
#5  0x00000000009eef5f in internal_error (gmsgid=gmsgid@entry=0xf8aafe "%s") at
../../gcc/diagnostic.c:1136
#6  0x0000000000697bdc in crash_signal (signo=11) at ../../gcc/toplev.c:339
#7  <signal handler called>
#8  htab_hash_string (p=0x0) at ../../libiberty/hashtab.c:839
#9  0x0000000000569f9d in hash (r=<optimized out>) at
../../gcc/dwarf2out.c:7501
#10 find_slot (insert=INSERT, value=0x7fffb8504650, this=0x7fffb8504648) at
../../gcc/hash-table.h:505
#11 lookup_external_ref (map=..., die=die@entry=0x7f2f897f70f0) at
../../gcc/dwarf2out.c:7529
#12 0x0000000000569c44 in optimize_external_refs_1 (die=0x7f2f894957d0,
map=map@entry=...) at ../../gcc/dwarf2out.c:7567
#13 0x0000000000aa0eff in optimize_external_refs_1(die_struct*,
hash_table<external_ref_hasher, xcallocator>) () at ../../gcc/dwarf2out.c:7571
#14 0x0000000000aa0eff in optimize_external_refs_1(die_struct*,
hash_table<external_ref_hasher, xcallocator>) () at ../../gcc/dwarf2out.c:7571
#15 0x0000000000e634a2 in optimize_external_refs(die_struct*) () at
../../gcc/dwarf2out.c:7621
#16 0x0000000000e63205 in output_comp_unit(die_struct*, int) () at
../../gcc/dwarf2out.c:8807
#17 0x0000000000561d12 in dwarf2out_finish (filename=<optimized out>) at
../../gcc/dwarf2out.c:24252
#18 0x0000000000e9664e in compile_file() () at ../../gcc/toplev.c:601
#19 0x0000000000e960e6 in do_compile () at ../../gcc/toplev.c:1917
#20 toplev_main(int, char**) () at ../../gcc/toplev.c:1995
#21 0x00007f2f900a9d65 in __libc_start_main (main=0xa1a5e0 <main(int, char**)>,
argc=25, argv=0x7fffb8504b88, init=<optimized out>, 
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffb8504b78)
at libc-start.c:285
#22 0x0000000000e1365c in _start ()

In frame 9, die->die_id is zeroed.

Reply via email to