]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: i386: Fix gcc.target/i386/pr82142?.c etc. on Solaris/x86
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Thu, 3 Apr 2025 06:52:47 +0000 (08:52 +0200)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Thu, 3 Apr 2025 06:52:47 +0000 (08:52 +0200)
Three tests FAIL on Solaris/x86 in similar ways:

FAIL: gcc.target/i386/pr111673.c check-function-bodies advance
FAIL: gcc.target/i386/pr82142a.c check-function-bodies assignzero
FAIL: gcc.target/i386/pr82142b.c check-function-bodies assignzero

All tests FAIL as is because they lack either or both of the .LFB0 label
and the .cfi_startproc directive:

* The 32-bit pr82142b.c test lacks both, whether as or gas is in use: as
  lacks full support for the cfi directives and the .LFB0 label is only
  emitted with -fasynchronous-unwind-tables.

* The 64-bit tests pr111673.c and pr82142a.c already work with gas, but
  with as the cfi directives are again missing.

In addition, the 32-bit test (pr82142b.c) still FAILs because 32-bit
Solaris/x86 defaults to -mstackrealign.

To fix all this, this patch adds -fasynchronous-unwind-tables
-fdwarf2-cfi-asm to all tests to force the generation of both the .LFB0
label and .cfi_startproc (which is ok since they are compile tests).  In
addition, pr82142b.c is compiled with -mno-stackrealign to avoid
platform differences.

Tested on i386-pc-solaris2.11 and x86_64-pc-linux-gnu.

2025-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

gcc/testsuite:
* gcc.target/i386/pr111673.c (dg-options): Add
-fasynchronous-unwind-tables -fdwarf2-cfi-asm.
* gcc.target/i386/pr82142a.c: Likewise.
* gcc.target/i386/pr82142b.c (dg-options): Add -mno-stackrealign
-fasynchronous-unwind-tables -fdwarf2-cfi-asm.

gcc/testsuite/gcc.target/i386/pr111673.c
gcc/testsuite/gcc.target/i386/pr82142a.c
gcc/testsuite/gcc.target/i386/pr82142b.c

index b9ceacf7651201526551dadb775d0382ac0c7a2a..0f08ba89ebda1f7e327a9ea2a4781f66654a6804 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target { ! ia32 } } } */
-/* { dg-options "-O2 -fdump-rtl-pro_and_epilogue" } */
+/* { dg-options "-O2 -fdump-rtl-pro_and_epilogue -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */
 /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc').  */
 /* { dg-final { check-function-bodies "**" "" "" { target "*-*-*" } {^\t?\.}  } } */
 
index a40c038452cf6b6eb0a7ebccfe89e6ca1c314f4a..a536150267c52c5e3fe339a9594710e030ba76e2 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target { ! ia32 } } } */
-/* { dg-options "-O2 -mno-avx -msse2" } */
+/* { dg-options "-O2 -mno-avx -msse2 -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */
 /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc').  */
 /* { dg-final { check-function-bodies "**" "" "" { target "*-*-*" } {^\t?\.}  } } */
 
index b1bf12d9a5b2e45137f812350e39c486ca3b10b8..d18b7c4665138119d88b5eb92df6606a70c95ef6 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile { target ia32 } } */
-/* { dg-options "-O2 -mno-avx -msse2" } */
+/* { dg-options "-O2 -mno-avx -msse2 -mno-stackrealign -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */
 /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc').  */
 /* { dg-final { check-function-bodies "**" "" "" { target "*-*-*" } {^\t?\.}  } } */