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

            Bug ID: 112917
           Summary: Most strub execution tests FAIL on SPARC
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: aoliva at gcc dot gnu.org, ebotcazou at gcc dot gnu.org
  Target Milestone: ---
            Target: sparc-sun-solaris2.11

Most of the new strub execution tests FAIL on Solaris/SPARC (both 32 and
64-bit):

FAIL: c-c++-common/strub-defer-O1.c  -std=gnu++14 execution test
FAIL: c-c++-common/strub-defer-O1.c  -std=gnu++17 execution test
FAIL: c-c++-common/strub-defer-O1.c  -std=gnu++20 execution test
FAIL: c-c++-common/strub-defer-O1.c  -std=gnu++98 execution test

32-bit

FAIL: c-c++-common/strub-defer-O2.c  -std=gnu++14 execution test
FAIL: c-c++-common/strub-defer-O2.c  -std=gnu++17 execution test
FAIL: c-c++-common/strub-defer-O2.c  -std=gnu++20 execution test
FAIL: c-c++-common/strub-defer-O2.c  -std=gnu++98 execution test

32 and 64-bit

FAIL: c-c++-common/strub-defer-O3.c  -std=gnu++14 execution test
FAIL: c-c++-common/strub-defer-O3.c  -std=gnu++17 execution test
FAIL: c-c++-common/strub-defer-O3.c  -std=gnu++20 execution test
FAIL: c-c++-common/strub-defer-O3.c  -std=gnu++98 execution test
FAIL: c-c++-common/strub-defer-Os.c  -std=gnu++14 execution test
FAIL: c-c++-common/strub-defer-Os.c  -std=gnu++17 execution test
FAIL: c-c++-common/strub-defer-Os.c  -std=gnu++20 execution test
FAIL: c-c++-common/strub-defer-Os.c  -std=gnu++98 execution test

64-bit

FAIL: c-c++-common/torture/strub-run1.c   -O1  execution test
FAIL: c-c++-common/torture/strub-run1.c   -O2  execution test
FAIL: c-c++-common/torture/strub-run1.c   -O2 -flto  execution test
FAIL: c-c++-common/torture/strub-run1.c   -O2 -flto -flto-partition=none 
execution test
FAIL: c-c++-common/torture/strub-run1.c   -Os  execution test
FAIL: c-c++-common/torture/strub-run3.c   -O0  execution test
FAIL: c-c++-common/torture/strub-run3.c   -O1  execution test
FAIL: c-c++-common/torture/strub-run3.c   -O2  execution test
FAIL: c-c++-common/torture/strub-run3.c   -O2 -flto  execution test
FAIL: c-c++-common/torture/strub-run3.c   -O2 -flto -flto-partition=none 
execution test
FAIL: c-c++-common/torture/strub-run3.c   -Os  execution test
FAIL: c-c++-common/torture/strub-run4.c   -O0  execution test
FAIL: c-c++-common/torture/strub-run4.c   -O1  execution test
FAIL: c-c++-common/torture/strub-run4.c   -O2  execution test
FAIL: c-c++-common/torture/strub-run4.c   -O2 -flto  execution test
FAIL: c-c++-common/torture/strub-run4.c   -O2 -flto -flto-partition=none 
execution test
FAIL: c-c++-common/torture/strub-run4.c   -Os  execution test
FAIL: c-c++-common/torture/strub-run4c.c   -O0  execution test
FAIL: c-c++-common/torture/strub-run4c.c   -O1  execution test
FAIL: c-c++-common/torture/strub-run4c.c   -O2  execution test
FAIL: c-c++-common/torture/strub-run4c.c   -O2 -flto  execution test
FAIL: c-c++-common/torture/strub-run4c.c   -O2 -flto -flto-partition=none 
execution test
FAIL: c-c++-common/torture/strub-run4c.c   -Os  execution test
FAIL: c-c++-common/torture/strub-run4d.c   -O0  execution test
FAIL: c-c++-common/torture/strub-run4d.c   -O1  execution test
FAIL: c-c++-common/torture/strub-run4d.c   -O2  execution test
FAIL: c-c++-common/torture/strub-run4d.c   -O2 -flto  execution test
FAIL: c-c++-common/torture/strub-run4d.c   -O2 -flto -flto-partition=none 
execution test
FAIL: c-c++-common/torture/strub-run4d.c   -Os  execution test
FAIL: c-c++-common/torture/strub-run4i.c   -O0  execution test
FAIL: c-c++-common/torture/strub-run4i.c   -O1  execution test
FAIL: c-c++-common/torture/strub-run4i.c   -O2  execution test
FAIL: c-c++-common/torture/strub-run4i.c   -O2 -flto  execution test
FAIL: c-c++-common/torture/strub-run4i.c   -O2 -flto -flto-partition=none 
execution test
FAIL: c-c++-common/torture/strub-run4i.c   -Os  execution test

32 and 64-bit

I've run two of the tests under gdb:

Starting program:
/var/gcc/regression/master/11.4-gcc-gas/build/gcc/testsuite/gcc/strub-defer-O1.exe
 
[...]
Thread 2 received signal SIGABRT, Aborted.
[Switching to Thread 1 (LWP 1)]
0xfec394ec in __lwp_sigqueue () from /lib/libc.so.1
(gdb) bt
#0  0xfec394ec in __lwp_sigqueue () from /lib/libc.so.1
#1  0xfeb770e8 in raise () from /lib/libc.so.1
#2  0xfeb485c0 in abort () from /lib/libc.so.1
#3  0x00010e5c in deferred_at_calls (.strub.watermark_ptr=<optimized out>)
    at
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/strub-defer-O3.c:83
#4  0x00010f60 in main ()
    at
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/strub-defer-O3.c:106

Starting program:
/var/gcc/regression/master/11.4-gcc-gas/build/gcc/testsuite/gcc/strub-run1.exe 
[...]
Thread 2 received signal SIGABRT, Aborted.
[Switching to Thread 1 (LWP 1)]
0xfec394ec in __lwp_sigqueue () from /lib/libc.so.1
(gdb) bt
#0  0xfec394ec in __lwp_sigqueue () from /lib/libc.so.1
#1  0xfeb770e8 in raise () from /lib/libc.so.1
#2  0xfeb485c0 in abort () from /lib/libc.so.1
#3  0x00010f80 in main ()
    at
/vol/gcc/src/hg/master/local/gcc/testsuite/c-c++-common/torture/strub-run1.c:92

The documentation is incomplete AFAICT: while invoke.texi describes the
-fstrub=
options, it barely tell what this is all about.  Seems to me like
implementation
detail without a high-level overview.

Reply via email to