https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69750

--- Comment #1 from dhowells at redhat dot com <dhowells at redhat dot com> ---
Doing gdb ./gcc/cc1 and running it with:

    r -quiet foo.c -g -fexceptions -o /tmp/cc5gm5ki.s 

shows the failure as:

Program received signal SIGSEGV, Segmentation fault.
_IO_vfprintf_internal (s=s@entry=0x7ffffbfff4e0, 
    format=format@entry=0xea2d7b "*%s%s%ld", ap=ap@entry=0x7ffffbfff608)
    at vfprintf.c:1311
1311      f = lead_str_end = __find_specmb ((const UCHAR_T *) format);


Asking for a backtrace gives at least 6000 entries, starting like this:

#0  _IO_vfprintf_internal (s=s@entry=0x7ffffbfff4e0, 
    format=format@entry=0xea2d7b "*%s%s%ld", ap=ap@entry=0x7ffffbfff608)
    at vfprintf.c:1311
#1  0x00007ffff66e488b in __IO_vsprintf (string=0x7ffffbfff7b0 "\004", 
    format=0xea2d7b "*%s%s%ld", args=args@entry=0x7ffffbfff608)
    at iovsprintf.c:42
#2  0x00007ffff66c7e57 in __sprintf (s=s@entry=0x7ffffbfff7b0 "\004", 
    format=format@entry=0xea2d7b "*%s%s%ld") at sprintf.c:32
#3  0x0000000000b716f4 in force_const_mem (mode=mode@entry=SImode, 
    x=x@entry=0x7fffea163e70) at ../../gcc-6.0.0-20160205/gcc/varasm.c:3732
#4  0x00000000006cdc43 in emit_move_insn (x=x@entry=0x7fffea163eb8, 
    y=y@entry=0x7fffea163e70) at ../../gcc-6.0.0-20160205/gcc/expr.c:3559
#5  0x00000000006b3c70 in force_reg (mode=mode@entry=SImode, 
    x=x@entry=0x7fffea163e70) at ../../gcc-6.0.0-20160205/gcc/explow.c:631
#6  0x00000000006b490e in force_reg (x=0x7fffea163e70, mode=SImode)
    at ../../gcc-6.0.0-20160205/gcc/explow.c:451
#7  memory_address_addr_space (mode=SImode, x=0x7fffea163e70, 
    as=<optimized out>) at ../../gcc-6.0.0-20160205/gcc/explow.c:457
#8  0x00000000006a0775 in change_address_1 (memref=0x7fffea163ea0, 
    mode=SImode, mode@entry=VOIDmode, addr=0x7fffea163e70, 
    validate=validate@entry=1, inplace=<optimized out>)
    at ../../gcc-6.0.0-20160205/gcc/emit-rtl.c:2127
#9  0x00000000006a3880 in replace_equiv_address (memref=<optimized out>, 
    addr=<optimized out>, inplace=inplace@entry=true)
    at ../../gcc-6.0.0-20160205/gcc/emit-rtl.c:2399
#10 0x00000000006b467a in validize_mem (ref=<optimized out>, 
    ref@entry=0x7fffea163ea0) at ../../gcc-6.0.0-20160205/gcc/explow.c:495

at this point, #4-#10 repeat:

#11 0x00000000006cdbbb in emit_move_insn (x=x@entry=0x7fffea163e58, 
    y=0x7fffea163ea0, y@entry=0x7fffea163e10)
    at ../../gcc-6.0.0-20160205/gcc/expr.c:3582
#12 0x00000000006b3c70 in force_reg (mode=mode@entry=SImode, 
    x=x@entry=0x7fffea163e10) at ../../gcc-6.0.0-20160205/gcc/explow.c:631
#13 0x00000000006b490e in force_reg (x=0x7fffea163e10, mode=SImode)
    at ../../gcc-6.0.0-20160205/gcc/explow.c:451
#14 memory_address_addr_space (mode=SImode, x=0x7fffea163e10, 
    as=<optimized out>) at ../../gcc-6.0.0-20160205/gcc/explow.c:457
#15 0x00000000006a0775 in change_address_1 (memref=0x7fffea163e40, 
    mode=SImode, mode@entry=VOIDmode, addr=0x7fffea163e10, 
    validate=validate@entry=1, inplace=<optimized out>)
    at ../../gcc-6.0.0-20160205/gcc/emit-rtl.c:2127
#16 0x00000000006a3880 in replace_equiv_address (memref=<optimized out>, 
    addr=<optimized out>, inplace=inplace@entry=true)
    at ../../gcc-6.0.0-20160205/gcc/emit-rtl.c:2399

and repeat:

#17 0x00000000006b467a in validize_mem (ref=<optimized out>, 
    ref@entry=0x7fffea163e40) at ../../gcc-6.0.0-20160205/gcc/explow.c:495
#18 0x00000000006cdbbb in emit_move_insn (x=x@entry=0x7fffea163df8, 
...

Reply via email to