This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/59233] [4.9 Regression] C++ failures after revision 205058 on *-apple-darwin* with -m32


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59233

--- Comment #5 from Teresa Johnson <tejohnson at google dot com> ---
Reproduced with cross compiler:

$
/usr/local/google/home/tejohnson/gcc_trunk_9_x86_64-apple-darwin10/bld-gcc/./gcc/xg++
-B/usr/local/google/home/tejohnson/gcc_trunk_9_x86_64-apple-darwin10/bld-gcc/./gcc/
-B/usr/local/google/home/tejohnson/gcc_trunk_9_x86_64-apple-darwin10/install/x86_64-apple-darwin10/bin/
-B/usr/local/google/home/tejohnson/gcc_trunk_9_x86_64-apple-darwin10/install/x86_64-apple-darwin10/lib/
-isystem
/usr/local/google/home/tejohnson/gcc_trunk_9_x86_64-apple-darwin10/install/x86_64-apple-darwin10/include
-isystem
/usr/local/google/home/tejohnson/gcc_trunk_9_x86_64-apple-darwin10/install/x86_64-apple-darwin10/sys-include
   -c -m32 -Os pr52772.C
pr52772.C: In member function âint c8::tria(c7*, c5*)â:
pr52772.C:85:1: internal compiler error: Segmentation fault
 }
 ^
0xb657af crash_signal
/usr/local/google/home/tejohnson/gcc_trunk_9/gcc/toplev.c:336
0xff4e1d old_insns_match_p
/usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:1128
0xff4e1d old_insns_match_p
/usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:1093
0xff5943 outgoing_edges_match
/usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:1754
0xff5943 try_crossjump_to_edge
/usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:1927
0xff6ed4 try_crossjump_bb
/usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:2252
0xff6ed4 try_crossjump_bb
/usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:2138
0xff7a6c try_optimize_cfg
/usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:2808
0xff7a6c cleanup_cfg(int)
/usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:3014
0xff9836 execute_jump2
/usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:3123
0xff9836 execute
/usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:3152
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

In debugger:

Program received signal SIGSEGV, Segmentation fault.
old_insns_match_p (i2=0x7ffff6390cc0, i1=0x7ffff6390d00, mode=2)
    at /usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:1128
1128  if (GET_CODE (p1) != GET_CODE (p2))
(gdb) p p1
$1 = (rtx) 0x0
(gdb) p p2
$2 = (rtx) 0x0
(gdb) p i1
$3 = (rtx) 0x7ffff6390d00
(gdb) p i2
$4 = (rtx) 0x7ffff6390cc0
(gdb) p debug_rtx(i1)
(note 170 134 58 7 NOTE_INSN_DELETED)
$5 = void
(gdb) p debug_rtx(i2)
(note 169 130 87 11 NOTE_INSN_DELETED)
$6 = void

So it doesn't handle NOTE_INSN_DELETED. Looking at the caller:

(gdb) up
#1  old_insns_match_p (mode=2, i1=0x7ffff6390d00, i2=0x7ffff6390cc0)
    at /usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:1093
1093 old_insns_match_p (int mode ATTRIBUTE_UNUSED, rtx i1, rtx i2)
(gdb) up
#2  0x0000000000ff5944 in outgoing_edges_match (bb2=0x7ffff639b270,
    bb1=0x7ffff639b2d8, mode=2)
    at /usr/local/google/home/tejohnson/gcc_trunk_9/gcc/cfgcleanup.c:1754
1754  if (old_insns_match_p (mode, last1, last2) != dir_both)
(gdb) p debug_bb(bb1)
(code_label/s 131 154 134 7 17 "" [1 uses])
(note 134 131 170 7 [bb 7] NOTE_INSN_BASIC_BLOCK)
(note 170 134 58 7 NOTE_INSN_DELETED)

$11 = void
(gdb) p debug_bb(bb2)
(code_label/s 127 167 130 11 16 "" [1 uses])
(note 130 127 169 11 [bb 11] NOTE_INSN_BASIC_BLOCK)
(note 169 130 87 11 NOTE_INSN_DELETED)

$12 = void


Looking to see what the right solution is here - either
old_insns_match_p should handle this or caller outgoing_edges_match
should avoid calling old_insns_match_p on these instruction types.

Teresa

On Thu, Nov 21, 2013 at 6:41 AM, tejohnson at google dot com
<gcc-bugzilla@gcc.gnu.org> wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59233
>
> --- Comment #3 from Teresa Johnson <tejohnson at google dot com> ---
> On Thu, Nov 21, 2013 at 6:10 AM, dominiq at lps dot ens.fr
> <gcc-bugzilla@gcc.gnu.org> wrote:
>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59233
>>
>> --- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
>> The ICE with -freorder-blocks-and-partition appeared between revisions 200946
>> (OK, 2013-07-14) and 201266 (ICE, 2013-07-26).
>>
>
> Taking a look. Since I can't reproduce on x86-64-unknown-linux-gnu I
> am going to build a cross-compiler for x86_64-apple-darwin10 and see
> if I can reproduce it. I looked at the range of revisions you mention
> above and there weren't any partitioning specific changes, so it is
> probably a side effect of some other change in that range.
>
> Teresa
>
>> --
>> You are receiving this mail because:
>> You are on the CC list for the bug.
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]