[Bug ipa/65588] [5 Regression] lto1: internal compiler error: Segmentation fault

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Mar 27 09:33:00 GMT 2015


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.



More information about the Gcc-bugs mailing list