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

--- Comment #10 from Aurelien Jarno <aurelien at aurel32 dot net> ---
(In reply to Steve Ellcey from comment #8)
> Where in CC1 do you segfault?  Can you show me the error message you get
> when compiling the test program using the latest gcc-5-branch sources.

The only message I got when compiling it is the following:

xgcc: internal compiler error: Segmentation fault (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

If I try to run cc1 with gdb, I get the following backtrace:

#0  0x000000000063cc5f in rtx_equal_for_cselib_1 (x=0x7ffff68a0480,
y=y@entry=0x7ffff69c7738, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:866
        code = <optimized out>
        fmt = <optimized out>
        i = <optimized out>
        __FUNCTION__ = "rtx_equal_for_cselib_1"
#1  0x000000000063cd72 in rtx_equal_for_cselib_1 (x=<optimized out>,
y=0x7ffff69c7738, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:907
        t = <optimized out>
        l = 0x15deb28
        code = <optimized out>
        fmt = <optimized out>
        i = <optimized out>
        __FUNCTION__ = "rtx_equal_for_cselib_1"
#2  0x000000000063d1d9 in rtx_equal_for_cselib_1 (x=x@entry=0x7ffff69c7738,
y=0x7ffff69c7720, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:1023
        j = <optimized out>
        code = <optimized out>
        fmt = <optimized out>
        i = 1
        __FUNCTION__ = "rtx_equal_for_cselib_1"
#3  0x000000000063cdda in rtx_equal_for_cselib_1 (x=0x7ffff69c7738,
y=0x15de2b8, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:924
        t = <optimized out>
        l = 0x15df088
        code = <optimized out>
        fmt = <optimized out>
        i = <optimized out>
        __FUNCTION__ = "rtx_equal_for_cselib_1"
#4  0x000000000063d002 in rtx_equal_for_cselib_1 (x=0x7ffff69c7720,
y=y@entry=0x7ffff69c7738, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:1026
        j = <optimized out>
        code = <optimized out>
        fmt = <optimized out>
        i = 0
        __FUNCTION__ = "rtx_equal_for_cselib_1"
#5  0x000000000063cd72 in rtx_equal_for_cselib_1 (x=<optimized out>,
y=0x7ffff69c7738, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:907
        t = <optimized out>
        l = 0x15df088
        code = <optimized out>
        fmt = <optimized out>
        i = <optimized out>
        __FUNCTION__ = "rtx_equal_for_cselib_1"
#6  0x000000000063d002 in rtx_equal_for_cselib_1 (x=x@entry=0x7ffff69c7738,
y=0x7ffff69c7720, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:1026
        j = <optimized out>
        code = <optimized out>
        fmt = <optimized out>
        i = 0
        __FUNCTION__ = "rtx_equal_for_cselib_1"
#7  0x000000000063cdda in rtx_equal_for_cselib_1 (x=0x7ffff69c7738,
y=0x15de2b8, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:924
        t = <optimized out>
        l = 0x15df088
        code = <optimized out>
        fmt = <optimized out>
        i = <optimized out>
        __FUNCTION__ = "rtx_equal_for_cselib_1"
#8  0x000000000063d002 in rtx_equal_for_cselib_1 (x=0x7ffff69c7720,
y=y@entry=0x7ffff69c7738, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:1026
        j = <optimized out>
        code = <optimized out>
        fmt = <optimized out>
        i = 0
        __FUNCTION__ = "rtx_equal_for_cselib_1"
#9  0x000000000063cd72 in rtx_equal_for_cselib_1 (x=<optimized out>,
y=0x7ffff69c7738, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:907
        t = <optimized out>
        l = 0x15df088
        code = <optimized out>
        fmt = <optimized out>
        i = <optimized out>
        __FUNCTION__ = "rtx_equal_for_cselib_1"
#10 0x000000000063d002 in rtx_equal_for_cselib_1 (x=x@entry=0x7ffff69c7738,
y=0x7ffff69c7720, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:1026
        j = <optimized out>
        code = <optimized out>
        fmt = <optimized out>
        i = 0
        __FUNCTION__ = "rtx_equal_for_cselib_1"
#11 0x000000000063cdda in rtx_equal_for_cselib_1 (x=0x7ffff69c7738,
y=0x15de2b8, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:924
        t = <optimized out>
        l = 0x15df088
        code = <optimized out>
        fmt = <optimized out>
        i = <optimized out>
        __FUNCTION__ = "rtx_equal_for_cselib_1"
#12 0x000000000063d002 in rtx_equal_for_cselib_1 (x=0x7ffff69c7720,
y=y@entry=0x7ffff69c7738, memmode=memmode@entry=VOIDmode) at
/home/aurel32/git/gcc/gcc/cselib.c:1026
        j = <optimized out>
        code = <optimized out>

It continues like that probably up to stack exhaustion. It looks like two
mutually recursive functions.

Reply via email to