https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63546
Bug ID: 63546
Summary: ICE: Segmentation fault in lto_get_decl_name_mapping
on ppc64
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: lto
Assignee: unassigned at gcc dot gnu.org
Reporter: trippels at gcc dot gnu.org
CC: hubicka at gcc dot gnu.org
trippels@gcc1-power7 ~ % cat timezone.ii
class UnicodeString
{
public:
void m_fn1 ();
} a;
void
fn1 ()
{
static int b = 0;
a.m_fn1 ();
}
trippels@gcc1-power7 ~ % /home/trippels/gcc_test/usr/local/bin/c++ -flto
-fdata-sections -g -O2 -r -nostdlib timezone.ii
lto1: internal compiler error: Segmentation fault
0x1063d46b crash_signal
../../gcc/gcc/toplev.c:340
0x104ed8c4 lto_get_decl_name_mapping(lto_file_decl_data*, char const*)
../../gcc/gcc/lto-section-in.c:340
0x1098f447 varpool_node::get_constructor()
../../gcc/gcc/varpool.c:280
0x1098f447 varpool_node::get_constructor()
../../gcc/gcc/varpool.c:264
0x10981c4f get_variable_section(tree_node*, bool)
../../gcc/gcc/varasm.c:1121
0x10983ae3 get_block_for_decl
../../gcc/gcc/varasm.c:1194
0x1098663b make_decl_rtl(tree_node*)
../../gcc/gcc/varasm.c:1419
0x10989f43 make_decl_rtl_for_debug(tree_node*)
../../gcc/gcc/varasm.c:1467
0x102523f7 rtl_for_decl_location
../../gcc/gcc/dwarf2out.c:15760
0x102871e7 loc_list_from_tree
../../gcc/gcc/dwarf2out.c:14391
0x1028dc13 add_location_or_const_value_attribute
../../gcc/gcc/dwarf2out.c:15892
0x1028dc13 add_location_or_const_value_attribute
../../gcc/gcc/dwarf2out.c:15836
0x10297707 dwarf2out_finish
../../gcc/gcc/dwarf2out.c:24243
Please submit a full bug report,
with preprocessed source if appropriate.
(gdb) up
#3 0x0000000010981c50 in get_variable_section (decl=0x3fffaf7003f0,
prefer_noswitch_p=<optimized out>) at ../../gcc/gcc/varasm.c:1121
1121 ../../gcc/gcc/varasm.c: No such file or directory.
(gdb) p debug_tree(decl)
<var_decl 0x3fffaf7003f0 b
type <integer_type 0x3fffaf6b07e0 int asm_written public SI
size <integer_cst 0x3fffaf681380 constant 32>
unit size <integer_cst 0x3fffaf681398 constant 4>
align 32 symtab 16383 alias set -1 canonical type 0x3fffaf6b07e0
precision 32 min <integer_cst 0x3fffaf681338 -2147483648> max <integer_cst
0x3fffaf681350 2147483647>
pointer_to_this <pointer_type 0x3fffaf6b1848>>
static SI file timezone.ii line 9 col 14 size <integer_cst 0x3fffaf681380
32> unit size <integer_cst 0x3fffaf681398 4>
align 32 context <function_decl 0x3fffaf843018 fn1> initial <error_mark
0x3fffaf681128>>
$1 = void