[Bug debug/79342] [6 Regression] ICE in output_index_string, at dwarf2out.c:25635 with -gsplit-dwarf

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Feb 2 14:45:00 GMT 2017


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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Broken by

#0  hash_table<indirect_string_hasher, xcallocator>::expand (
    this=0x7ffff68a1360)
    at /space/rguenther/src/svn/gcc-6-branch/gcc/hash-table.h:734
#1  0x0000000000c5803e in hash_table<indirect_string_hasher,
xcallocator>::find_slot_with_hash (this=0x7ffff68a1360, 
    comparable=@0x7fffffffd838: 0x7ffff69d79f0 "__cplusplus ", 
    hash=2325771649, insert=INSERT)
    at /space/rguenther/src/svn/gcc-6-branch/gcc/hash-table.h:860
#2  0x0000000000c183c2 in find_AT_string_in_table (
    str=0x7ffff69d79f0 "__cplusplus ", table=0x7ffff68a1360)
    at /space/rguenther/src/svn/gcc-6-branch/gcc/dwarf2out.c:4099
#3  0x0000000000c18461 in find_AT_string (str=0x7ffff69d79f0 "__cplusplus ")
    at /space/rguenther/src/svn/gcc-6-branch/gcc/dwarf2out.c:4121
#4  0x0000000000c4af5f in output_macinfo_op (ref=0x7ffff7eaf020)
    at /space/rguenther/src/svn/gcc-6-branch/gcc/dwarf2out.c:25082
#5  0x0000000000c4aecc in output_macinfo_op (ref=0x7ffff7eaf020)
    at /space/rguenther/src/svn/gcc-6-branch/gcc/dwarf2out.c:25070
#6  0x0000000000c4b95c in output_macinfo ()
    at /space/rguenther/src/svn/gcc-6-branch/gcc/dwarf2out.c:25351
#7  0x0000000000c516cc in dwarf2out_finish (filename=0x28dea50 "t.ii")
    at /space/rguenther/src/svn/gcc-6-branch/gcc/dwarf2out.c:27975

enlarging the hash table after indexes are assigned.  Only afterwards
we are outputting indirect strings.

So the fix is probably to move assigning indexes right before outputting?
Or to not create new indirect strings when outputting macinfo.  Or to not
rely on hash table walking.


More information about the Gcc-bugs mailing list