https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65588
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |x86_64-linux
Priority|P3 |P1
Status|UNCONFIRMED |NEW
Keywords| |lto
Last reconfirmed| |2015-03-27
Component|lto |ipa
CC| |hubicka at gcc dot gnu.org
Ever confirmed|0 |1
Summary|lto1: internal compiler |[5 Regression] lto1:
|error: Segmentation fault |internal compiler error:
| |Segmentation fault
Target Milestone|--- |5.0
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed with -O -flto.
Program received signal SIGSEGV, Segmentation fault.
0x0000000000fe8b47 in assemble_undefined_decl (decl=0x7ffff68d7990)
at /space/rguenther/src/svn/trunk2/gcc/varasm.c:2079
2079 const char *name = XSTR (XEXP (DECL_RTL (decl), 0), 0);
(gdb) bt
#0 0x0000000000fe8b47 in assemble_undefined_decl (decl=0x7ffff68d7990)
at /space/rguenther/src/svn/trunk2/gcc/varasm.c:2079
#1 0x0000000000fff91f in symbol_table::output_variables (this=0x7ffff68d0000)
at /space/rguenther/src/svn/trunk2/gcc/varpool.c:741
#2 0x00000000007b0e34 in symbol_table::compile (this=0x7ffff68d0000)
at /space/rguenther/src/svn/trunk2/gcc/cgraphunit.c:2368
#3 0x00000000006ed92d in lto_main ()
at /space/rguenther/src/svn/trunk2/gcc/lto/lto.c:3483
#4 0x0000000000c9acbb in compile_file ()
at /space/rguenther/src/svn/trunk2/gcc/toplev.c:594
#5 0x0000000000c9d07e in do_compile ()
at /space/rguenther/src/svn/trunk2/gcc/toplev.c:2076
#6 0x0000000000c9d2aa in toplev::main (this=0x7fffffffdba0, argc=25,
argv=0x20e4320) at /space/rguenther/src/svn/trunk2/gcc/toplev.c:2174
#7 0x000000000161b127 in main (argc=25, argv=0x7fffffffdca8)
at /space/rguenther/src/svn/trunk2/gcc/main.c:39
(gdb) p debug_tree (decl)
<var_decl 0x7ffff68d7990 __SP
type <integer_type 0x7ffff68d0690 int public SI
size <integer_cst 0x7ffff68ccdf8 constant 32>
unit size <integer_cst 0x7ffff68cce10 constant 4>
align 32 symtab 0 alias set -1 canonical type 0x7ffff68d0690 precision
32 min <integer_cst 0x7ffff68ccdb0 -2147483648> max <integer_cst 0x7ffff68ccdc8
2147483647>
pointer_to_this <pointer_type 0x7ffff68e77e0>>
used public external regdecl common SI file t.c line 25 col 14 size
<integer_cst 0x7ffff68ccdf8 32> unit size <integer_cst 0x7ffff68cce10 4>
align 32 context <translation_unit_decl 0x7ffff7ff81e0 D.3949>
(reg/v:SI 7 sp [ __SP ])>
$1 = void
for some odd reason we call assemble_undefined_decl on a DECL_HARD_REGISTER
(for some odd reason such decl is in the varpool at all..)
Honza?
This is
register __SP __asm__ ( "%rsp" );
not sure what the underlying issue is. Works with 4.9.