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.