rguenth at gcc dot gnu.org
2018-09-25 13:35:23 UTC
https://sourceware.org/bugzilla/show_bug.cgi?id=23712
Bug ID: 23712
Summary: dwarf2read.c:9730: internal-error: void
dw2_add_symbol_to_list(symbol*, pending**): Assertion
`(*listhead) == NULL || (SYMBOL_LANGUAGE
((*listhead)->symbol[0]) == SYMBOL_LANGUAGE (symbol))'
failed
Product: gdb
Version: 8.2
Status: NEW
Severity: normal
Priority: P2
Component: gdb
Assignee: unassigned at sourceware dot org
Reporter: rguenth at gcc dot gnu.org
Target Milestone: ---
Created attachment 11273
--> https://sourceware.org/bugzilla/attachment.cgi?id=11273&action=edit
genchecksum binary (x86_64-linux)
gdb fails to process the gcc/build/genchecksum binary in a LTO bootrapped tree.
Note this is just one example (albeit a very small one).
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ../../obj3/gcc/build/genchecksum...done.
../../gdb/dwarf2read.c:9730: internal-error: void
dw2_add_symbol_to_list(symbol*, pending**): Assertion `(*listhead) == NULL ||
(SYMBOL_LANGUAGE ((*listhead)->symbol[0]) == SYMBOL_LANGUAGE (symbol))' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
The issue is that for the following the DW_TAG_variable and
DW_TAG_formal_parameter of the same abstract instance get associated different
symbol->ginfo.language. Here the context of 2599 is a C++ CU (generated by
LTO LTRANS) and the context of 2434 is a C CU (libiberty xstrerror.c). So
the concrete instance lives in the LTO LTRANS unit (togehter with genchecksum
functions which are from a C++ CU).
<1><2599>: Abbrev Number: 3 (DW_TAG_subprogram)
<259a> DW_AT_abstract_origin: <0x2434>
<259e> DW_AT_low_pc : 0x401300
<25a6> DW_AT_high_pc : 0x28
<25ae> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<25b0> DW_AT_GNU_all_call_sites: 1
<25b0> DW_AT_sibling : <0x2661>
<2><25b4>: Abbrev Number: 4 (DW_TAG_formal_parameter)
<25b5> DW_AT_abstract_origin: <0x2440>
<25b9> DW_AT_location : 0xf35 (location list)
<25bd> DW_AT_GNU_locviews: 0xf2b
<2><25c1>: Abbrev Number: 5 (DW_TAG_variable)
<25c2> DW_AT_abstract_origin: <0x244c>
<25c6> DW_AT_location : 0xfae (location list)
<25ca> DW_AT_GNU_locviews: 0xfaa
<2><25ce>: Abbrev Number: 7 (DW_TAG_inlined_subroutine)
<25cf> DW_AT_abstract_origin: <0x2434>
<25d3> DW_AT_entry_pc : 0x401310
<25db> DW_AT_GNU_entry_view: 1
<25dd> DW_AT_low_pc : 0x401310
<25e5> DW_AT_high_pc : 0x16
<25ed> DW_AT_sibling : <0x264c>
<3><25f1>: Abbrev Number: 4 (DW_TAG_formal_parameter)
<25f2> DW_AT_abstract_origin: <0x2440>
<25f6> DW_AT_location : 0xfef (location list)
<25fa> DW_AT_GNU_locviews: 0xfed
<3><25fe>: Abbrev Number: 8 (DW_TAG_lexical_block)
<25ff> DW_AT_low_pc : 0x401310
<2607> DW_AT_high_pc : 0x16
<4><260f>: Abbrev Number: 5 (DW_TAG_variable)
<2610> DW_AT_abstract_origin: <0x244c>
<2614> DW_AT_location : 0x1014 (location list)
<2618> DW_AT_GNU_locviews: 0x1012
Bug ID: 23712
Summary: dwarf2read.c:9730: internal-error: void
dw2_add_symbol_to_list(symbol*, pending**): Assertion
`(*listhead) == NULL || (SYMBOL_LANGUAGE
((*listhead)->symbol[0]) == SYMBOL_LANGUAGE (symbol))'
failed
Product: gdb
Version: 8.2
Status: NEW
Severity: normal
Priority: P2
Component: gdb
Assignee: unassigned at sourceware dot org
Reporter: rguenth at gcc dot gnu.org
Target Milestone: ---
Created attachment 11273
--> https://sourceware.org/bugzilla/attachment.cgi?id=11273&action=edit
genchecksum binary (x86_64-linux)
gdb fails to process the gcc/build/genchecksum binary in a LTO bootrapped tree.
Note this is just one example (albeit a very small one).
gdb ../../obj3/gcc/build/genchecksum
GNU gdb (GDB; devel:gcc) 8.2Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ../../obj3/gcc/build/genchecksum...done.
../../gdb/dwarf2read.c:9730: internal-error: void
dw2_add_symbol_to_list(symbol*, pending**): Assertion `(*listhead) == NULL ||
(SYMBOL_LANGUAGE ((*listhead)->symbol[0]) == SYMBOL_LANGUAGE (symbol))' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
The issue is that for the following the DW_TAG_variable and
DW_TAG_formal_parameter of the same abstract instance get associated different
symbol->ginfo.language. Here the context of 2599 is a C++ CU (generated by
LTO LTRANS) and the context of 2434 is a C CU (libiberty xstrerror.c). So
the concrete instance lives in the LTO LTRANS unit (togehter with genchecksum
functions which are from a C++ CU).
<1><2599>: Abbrev Number: 3 (DW_TAG_subprogram)
<259a> DW_AT_abstract_origin: <0x2434>
<259e> DW_AT_low_pc : 0x401300
<25a6> DW_AT_high_pc : 0x28
<25ae> DW_AT_frame_base : 1 byte block: 9c (DW_OP_call_frame_cfa)
<25b0> DW_AT_GNU_all_call_sites: 1
<25b0> DW_AT_sibling : <0x2661>
<2><25b4>: Abbrev Number: 4 (DW_TAG_formal_parameter)
<25b5> DW_AT_abstract_origin: <0x2440>
<25b9> DW_AT_location : 0xf35 (location list)
<25bd> DW_AT_GNU_locviews: 0xf2b
<2><25c1>: Abbrev Number: 5 (DW_TAG_variable)
<25c2> DW_AT_abstract_origin: <0x244c>
<25c6> DW_AT_location : 0xfae (location list)
<25ca> DW_AT_GNU_locviews: 0xfaa
<2><25ce>: Abbrev Number: 7 (DW_TAG_inlined_subroutine)
<25cf> DW_AT_abstract_origin: <0x2434>
<25d3> DW_AT_entry_pc : 0x401310
<25db> DW_AT_GNU_entry_view: 1
<25dd> DW_AT_low_pc : 0x401310
<25e5> DW_AT_high_pc : 0x16
<25ed> DW_AT_sibling : <0x264c>
<3><25f1>: Abbrev Number: 4 (DW_TAG_formal_parameter)
<25f2> DW_AT_abstract_origin: <0x2440>
<25f6> DW_AT_location : 0xfef (location list)
<25fa> DW_AT_GNU_locviews: 0xfed
<3><25fe>: Abbrev Number: 8 (DW_TAG_lexical_block)
<25ff> DW_AT_low_pc : 0x401310
<2607> DW_AT_high_pc : 0x16
<4><260f>: Abbrev Number: 5 (DW_TAG_variable)
<2610> DW_AT_abstract_origin: <0x244c>
<2614> DW_AT_location : 0x1014 (location list)
<2618> DW_AT_GNU_locviews: 0x1012
--
You are receiving this mail because:
You are on the CC list for the bug.
You are receiving this mail because:
You are on the CC list for the bug.