]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: i386: Guard NO_PROFILE_COUNTERS tests
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Tue, 25 Nov 2025 08:20:54 +0000 (09:20 +0100)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Tue, 25 Nov 2025 08:20:54 +0000 (09:20 +0100)
After switching the i386 check-function-bodies tests to use the new
dg-add-options check_function_bodies feature, several tests still FAIL
in similar ways on Solaris/x86:

* Some FAIL like this:

FAIL: gcc.target/i386/pr120936-6.c (test for excess errors)
Excess errors:
cc1: error: '-mnop-mcount' is not compatible with this target

  This happens because -mnop-mcount is only supported in
  i386/i386-options.cc (ix86_option_override_internal) if
  NO_PROFILE_COUNTERS.

* Others FAIL like

FAIL: gcc.target/i386/pr120936-10.c (test for excess errors)
Excess errors:
gcc/testsuite/gcc.target/i386/pr120936-10.c:23:1: sorry, unimplemented: profiling '-mcmodel=large' with PIC is not supported

  This error is generated in i386/i386.cc (x86_function_profiler) if
  !NO_PROFILE_COUNTERS.

NO_PROFILE_COUNTERS is only defined in dragonfly.h, x86_64.sh,
gnu-user.h, freebsd.h, cygming.h, and, netbsd-elf.h.  However, a couple
of similar tests are restricted to Linux only, so this patch follows
suit.  One could introduce a new effective-target keyword to fully
handle this, though.

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

2025-11-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

gcc/testsuite:
* gcc.target/i386/pr120936-3.c: Restrict to *-*-linux*.
* gcc.target/i386/pr120936-6.c: Likewise.
* gcc.target/i386/pr120936-10.c: Likewise.
* gcc.target/i386/pr120936-12.c: Likewise.

gcc/testsuite/gcc.target/i386/pr120936-10.c
gcc/testsuite/gcc.target/i386/pr120936-12.c
gcc/testsuite/gcc.target/i386/pr120936-3.c
gcc/testsuite/gcc.target/i386/pr120936-6.c

index ab95b087ec9b434da8731e1f67a9296ee64c07e2..6107a5ccabcba53bfab845a5094ea384bbf47735 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { fpic && lp64 } } } */
+/* { dg-do compile { target { { *-*-linux* && lp64 } && fpic } } } */
 /* { dg-options "-O2 -mcmodel=large -pg -mno-fentry -fpic -fno-shrink-wrap" } */
 /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc').  */
 /* { dg-final { check-function-bodies "**" "" "" { target "*-*-*" } {^(1|\t?\.)} } } */
index b5a2aaced5d8550023d40df46e42b3e8d7388620..fdeaf6755561d54edb694aec86536bc0af0c1db8 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target { fpic && lp64 } } } */
+/* { dg-do compile { target { { *-*-linux* && lp64 } && fpic } } } */
 /* { dg-options "-O2 -mcmodel=large -mrecord-mcount -pg -mno-fentry -fpic -fno-shrink-wrap" } */
 /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc').  */
 /* { dg-final { check-function-bodies "**" "" "" { target "*-*-*" } {^(1|\t?\.)} } } */
index dc0a8f1e42437c20810a8e50ca8748ad48b18612..44a117345bbbf34bc2bb8d47f34a1caba0f2b267 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target fpic } } */
+/* { dg-do compile { target { *-*-linux* && fpic } } } */
 /* { dg-options "-O2 -mnop-mcount -pg -mno-fentry -fno-pic -fno-shrink-wrap" } */
 /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc').  */
 /* { dg-final { check-function-bodies "**" "" "" { target "*-*-*" } {^\t?\.} } } */
index 6e2290fda6e83c9830be01472c9ea7053b7ee24b..013b5e89cab5c19ada499ad3aa8fb7ebd8c4f2ee 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target fpic } } */
+/* { dg-do compile { target { *-*-linux* && fpic } } } */
 /* { dg-options "-O2 -mrecord-mcount -mnop-mcount -pg -mno-fentry -fno-pic -fno-shrink-wrap" } */
 /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc').  */
 /* { dg-final { check-function-bodies "**" "" "" { target "*-*-*" } {^(1|\t?\.)} } } */