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

--- Comment #38 from The Written Word <bugzilla-gcc at thewrittenword dot com> 
---
I rebuilt 8.3.0 with minimal patches and am seeing the same failure as before.
From <objdir>/ia64-hp-hpux11.31/libstdc++-v3/config.log:
configure:7964: checking for ANSI C header files
configure:7984: /opt/build/china/gcc-8.3.0/.obj/./gcc/xgcc
-B/opt/build/china/gcc-8.3.0/.obj/./gcc/
-B/opt/build/gcc8/ia64-hp-hpux11.31/bin/
-B/opt/build/gcc8/ia64-hp-hpux11.31/lib/ -isystem
/opt/build/gcc8/ia64-hp-hpux11.31/include -isystem
/opt/build/gcc8/ia64-hp-hpux11.31/sys-include    -c -O2 -g  conftest.c >&5
configure:7984: $? = 0
configure:8057: /opt/build/china/gcc-8.3.0/.obj/./gcc/xgcc
-B/opt/build/china/gcc-8.3.0/.obj/./gcc/
-B/opt/build/gcc8/ia64-hp-hpux11.31/bin/
-B/opt/build/gcc8/ia64-hp-hpux11.31/lib/ -isystem
/opt/build/gcc8/ia64-hp-hpux11.31/include -isystem
/opt/build/gcc8/ia64-hp-hpux11.31/sys-include    -o conftest -O2 -g  
conftest.c  >&5
configure:8057: $? = 0
configure:8057: ./conftest
/opt/build/china/gcc-8.3.0/libstdc++-v3/configure: line 1940: 18830
Segmentation fault      (core dumped) ./conftest$ac_exeext

If I compile the conftest.c program between gcc-4.9.4 and the 8.3.0 stage 1
compiler:
--- gcc-4.9.4/conftest.s  2019-07-05 04:50:23 +0000
+++ /opt/build/china/gcc-8.3.0/.obj/ia64-hp-hpux11.31/libstdc++-v3/conftest.s  
2019-07-05 04:50:13 +0000
@@ -27,42 +27,26 @@
        ;;
        ld4 r14 = [r14]
        ;;
-       addp4 r14 = 0,r14
-       ;;
        cmp.eq p6, p7 = 0, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L3
        addl r14 = @ltoffx(__SB_masks#), r1
        ;;
        ld8.mov r14 = [r14], __SB_masks#
        ;;
        ld4 r14 = [r14]
-       ;;
-       addp4 r14 = 0,r14
        ld4 r15 = [r34]
        ;;
        shladd r15 = r15, 2, r0
        ;;
        add r14 = r15, r14
        ;;
-       addp4 r14 = 0,r14
+       addp4 r14 = r14, r0
        ;;
        ld4 r14 = [r14]
        ;;
        and r14 = 64, r14
        ;;
        cmp4.ne p6, p7 = 0, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L4
        br .L5
        ;;
@@ -73,33 +57,15 @@
        mov r14 = r8
        ;;
        cmp4.eq p6, p7 = 0, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L5
 .L4:
        ld4 r14 = [r34]
        ;;
        cmp4.ge p6, p7 = 96, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L6
        ld4 r14 = [r34]
        ;;
        cmp4.lt p6, p7 = 122, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L6
 .L5:
        addl r14 = @ltoffx(__SB_masks#), r1
@@ -108,42 +74,26 @@
        ;;
        ld4 r14 = [r14]
        ;;
-       addp4 r14 = 0,r14
-       ;;
        cmp.eq p6, p7 = 0, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L7
        addl r14 = @ltoffx(__SB_masks#), r1
        ;;
        ld8.mov r14 = [r14], __SB_masks#
        ;;
        ld4 r14 = [r14]
-       ;;
-       addp4 r14 = 0,r14
        ld4 r15 = [r34]
        ;;
        shladd r15 = r15, 2, r0
        ;;
        add r14 = r15, r14
        ;;
-       addp4 r14 = 0,r14
+       addp4 r14 = r14, r0
        ;;
        ld4 r14 = [r14]
        ;;
        and r14 = 64, r14
        ;;
        cmp4.eq p6, p7 = 0, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L8
        br .L9
        ;;
@@ -154,33 +104,15 @@
        mov r14 = r8
        ;;
        cmp4.ne p6, p7 = 0, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L9
 .L8:
        ld4 r14 = [r34]
        ;;
        cmp4.ge p6, p7 = 96, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L9
        ld4 r14 = [r34]
        ;;
        cmp4.ge p6, p7 = 122, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L6
 .L9:
        ld4 r36 = [r34]
@@ -190,22 +122,10 @@
        ld4 r14 = [r34]
        ;;
        cmp4.ge p6, p7 = 96, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L10
        ld4 r14 = [r34]
        ;;
        cmp4.lt p6, p7 = 122, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L10
        ld4 r14 = [r34]
        ;;
@@ -216,13 +136,7 @@
        ld4 r14 = [r34]
 .L11:
        ;;
-       cmp4.eq p6, p7 = r14, r15
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
+       cmp4.eq p6, p7 = r15, r14
        (p6) br.cond.dptk .L12
 .L6:
        addl r14 = 2, r0
@@ -239,12 +153,6 @@
        addl r15 = 255, r0
        ;;
        cmp4.ge p6, p7 = r15, r14
-       ;;
-       (p6) adds r14 = 1, r0
-       ;;
-       (p7) adds r14 = 0, r0
-       ;;
-       tbit.nz p6, p7 = r14, 0
        (p6) br.cond.dptk .L14
        mov r14 = r0
 .L13:

Compiling the gcc-4.9.4 conftest.s with the gcc-8.3.0 stage 1 compiler and
executing it works fine. Doing the reverse (using gcc-4.9.4 to generate an
executable from the gcc-8.3.0 stage 1 generated conftest.s) reproduces the
segfault.

Reply via email to