https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112729
Bug ID: 112729 Summary: gcc.target/i386/apx-interrupt-1.c etc. FAIL Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite Assignee: unassigned at gcc dot gnu.org Reporter: ro at gcc dot gnu.org CC: wwwhhhyyy333 at gmail dot com, zewei.mo at intel dot com Target Milestone: --- Target: i386-pc-solaris2.11, x86_64-unknown-freebsd12.4 Several of the gcc.target/i386/apx-*.c tests FAIL on different targets: * On Darwin/x86 they are skipped because the assembler doesn't support the cfi directives. * On Solaris/x86 with the native assembler, part of the failures is for the same reason: lack of cfi support. Instead of hardcoding more and more targets, I have a patch that introduces a new cfi effective-target keyword for the testsuite to handle that properly instead. * However, on Solaris/x86 with gas (which does support the cfi directives), there are still quite a number of failures. I'm attaching the assembler output for comparison. FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 130, -136 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 131, -128 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 132, -120 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 133, -112 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 134, -104 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 135, -96 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 136, -88 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 137, -80 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 138, -72 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 139, -64 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 140, -56 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 141, -48 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 142, -40 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 143, -32 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 144, -24 1 FAIL: gcc.target/i386/apx-interrupt-1.c scan-assembler-times \\\\t\\\\.cfi_offset 145, -16 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times .cfi_def_cfa_offset 16 2 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times .cfi_def_cfa_offset 32 2 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times .cfi_def_cfa_offset 48 2 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times .cfi_def_cfa_offset 56 2 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times .cfi_def_cfa_offset 8(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times .cfi_offset 12, -40(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times .cfi_offset 13, -32(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times .cfi_offset 14, -24(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times .cfi_offset 15, -16(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times .cfi_offset 6, -48(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times .cfi_restore 6(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times pop2[\\\\t ]*[^\\n\\r]*%r12[^\\n\\r]*%rbp[^\\n\\r]*(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times pop2[\\\\t ]*[^\\n\\r]*%r14[^\\n\\r]*%r13[^\\n\\r]*(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times popq[^\\n\\r]*%r15(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times push2[\\\\t ]*[^\\n\\r]*%r13[^\\n\\r]*%r14[^\\n\\r]*(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times push2[\\\\t ]*[^\\n\\r]*%rbp[^\\n\\r]*%r12[^\\n\\r]*(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2-1.c scan-assembler-times pushq[^\\n\\r]*%r15(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times .cfi_def_cfa_offset 16 2 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times .cfi_def_cfa_offset 32 2 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times .cfi_def_cfa_offset 48 2 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times .cfi_def_cfa_offset 56 2 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times .cfi_def_cfa_offset 8(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times .cfi_offset 12, -40(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times .cfi_offset 13, -32(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times .cfi_offset 14, -24(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times .cfi_offset 15, -16(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times .cfi_offset 6, -48(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times .cfi_restore 6(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times pop2[\\\\t ]*[^\\n\\r]*%r12[^\\n\\r]*%rbp[^\\n\\r]*(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times pop2[\\\\t ]*[^\\n\\r]*%r14[^\\n\\r]*%r13[^\\n\\r]*(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times popq[^\\n\\r]*%r15(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times push2[\\\\t ]*[^\\n\\r]*%r13[^\\n\\r]*%r14[^\\n\\r]*(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times push2[\\\\t ]*[^\\n\\r]*%rbp[^\\n\\r]*%r12[^\\n\\r]*(?:\\n|[ \\\\t]+#) 1 FAIL: gcc.target/i386/apx-push2pop2_force_drap-1.c scan-assembler-times pushq[^\\n\\r]*%r15(?:\\n|[ \\\\t]+#) 1 * I strongly suspect that the FreeBSD 12.4/x86_64 failures are the same, although that's difficult to tell from the gcc-testresults mails. It seems something is amiss here: maybe the tests are Linux-specific in some way. In that case, the tests should be adjusted accordingly.