From 8dc14eb3b4524b954283822abd48daf2b6b2eb5a Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 26 Jan 2026 19:28:50 +0000 Subject: [PATCH] further fixes for testing non-production cross compilers (RHEL-114521) - enable guality tests in cross testing - enable simulate-thread tests in cross testing - enable gcov tests in cross testing - enable some miscellaneous tests in cross testing - fix some tree-prof tests for cross testing Related: RHEL-114521 --- gcc.spec | 20 +- gcc14-tests-gcov-native.patch | 922 +++++++++++++++++++++++ gcc14-tests-guality-native.patch | 232 ++++++ gcc14-tests-misc-native.patch | 69 ++ gcc14-tests-simulate-thread-native.patch | 115 +++ gcc14-tests-tree-prof-native.patch | 63 ++ 6 files changed, 1420 insertions(+), 1 deletion(-) create mode 100644 gcc14-tests-gcov-native.patch create mode 100644 gcc14-tests-guality-native.patch create mode 100644 gcc14-tests-misc-native.patch create mode 100644 gcc14-tests-simulate-thread-native.patch create mode 100644 gcc14-tests-tree-prof-native.patch diff --git a/gcc.spec b/gcc.spec index f02d0a4..0c6b17f 100644 --- a/gcc.spec +++ b/gcc.spec @@ -166,7 +166,7 @@ Summary: Various compilers (C, C++, Objective-C, ...) Name: gcc Version: %{gcc_version} -Release: %{gcc_release}.2%{?dist} +Release: %{gcc_release}.3%{?dist} # License notes for some of the less obvious ones: # gcc/doc/cppinternals.texi: Linux-man-pages-copyleft-2-para # isl: MIT, BSD-2-Clause @@ -346,6 +346,11 @@ Patch3001: gcc14-tests-installed-site-exp.patch Patch3002: gcc14-tests-installed-target.patch Patch3003: gcc14-tests-installed-plugin.patch Patch3004: gcc14-tests-ssp-native.patch +Patch3005: gcc14-tests-guality-native.patch +Patch3006: gcc14-tests-simulate-thread-native.patch +Patch3007: gcc14-tests-gcov-native.patch +Patch3008: gcc14-tests-misc-native.patch +Patch3009: gcc14-tests-tree-prof-native.patch # On ARM EABI systems, we do want -gnueabi to be part of the # target triple. @@ -1204,6 +1209,11 @@ touch -r isl-0.24/m4/ax_prog_cxx_for_build.m4 isl-0.24/m4/ax_prog_cc_for_build.m %patch -P3002 -p1 -b .gcc14-tests-installed-target %patch -P3003 -p1 -b .gcc14-tests-installed-plugin %patch -P3004 -p1 -b .gcc14-tests-ssp-native +%patch -P3005 -p1 -b .gcc14-tests-guality-native +%patch -P3006 -p1 -b .gcc14-tests-simulate-thread-native +%patch -P3007 -p1 -b .gcc14-tests-gcov-native +%patch -P3008 -p1 -b .gcc14-tests-misc-native +%patch -P3009 -p1 -b .gcc14-tests-tree-prof-native %ifarch %{arm} rm -f gcc/testsuite/go.test/test/fixedbugs/issue19182.go @@ -4499,6 +4509,14 @@ end %{sysroot_prefix}/test-support/auto-host.h %changelog +* Mon Jan 26 2026 Joseph Myers - 14.3.1-4.3 +- fixes for testing non-production cross compilers (RHEL-114521) + - enable guality tests in cross testing + - enable simulate-thread tests in cross testing + - enable gcov tests in cross testing + - enable some miscellaneous tests in cross testing + - fix some tree-prof tests for cross testing + * Tue Jan 6 2026 Joseph Myers - 14.3.1-4.2 - fixes for testing non-production cross compilers (RHEL-114521) - enable stack-protector tests in cross testing diff --git a/gcc14-tests-gcov-native.patch b/gcc14-tests-gcov-native.patch new file mode 100644 index 0000000..ce12e00 --- /dev/null +++ b/gcc14-tests-gcov-native.patch @@ -0,0 +1,922 @@ +commit 39a93faab07ff64a9e828f487f231b013b6cdbdc +Author: Joseph Myers +Date: Fri Jan 23 21:14:31 2026 +0000 + + testsuite: Enable cross testing for gcov tests + + Tests of gcov are generally restricted to { target native }. The + issue for these tests is the need to transfer .gcda files from the + target to the host before running gcov. Implement that support and + remove the { target native } restrictions for these tests. + + Note that by default code built to generate coverage data expects to + be able to write .gcda files to the same directory name in which the + compiler generated its output, so if that path cannot be created by + the tests on the target then they may still not work in a cross setup. + Other options involving -fprofile-dir are possible but involve their + own complications such as mangling of the .gcda file name (the + mangling logic would then need replicating in gcov.exp). Copying + files from the target using such absolute directory paths is what + already happens with gcc.dg/tree-prof tests using profopt.exp (and + those already work in a cross configuration except for a few using + dg-additional-sources), so this change is effectively making the gcov + tests work more like the tree-prof ones. + + Note also that [remote_file host absolute ...] may require appropriate + support in your host board file for the case of a remote host (this + isn't an operation DejaGnu knows about doing remotely by default). + The logic for determining .gcda paths does mean it's the absolute path + on host, not on build, that is relevant. + + Tested for x86_64-pc-linux-gnu to make sure native testing isn't + broken, and with cross to aarch64-linux. + + * g++.dg/gcov/gcov-1.C, g++.dg/gcov/gcov-10.C, + g++.dg/gcov/gcov-11.C, g++.dg/gcov/gcov-12.C, + g++.dg/gcov/gcov-13.C, g++.dg/gcov/gcov-14.C, + g++.dg/gcov/gcov-15.C, g++.dg/gcov/gcov-16.C, + g++.dg/gcov/gcov-17.C, g++.dg/gcov/gcov-18.C, + g++.dg/gcov/gcov-19.C, g++.dg/gcov/gcov-2.C, + g++.dg/gcov/gcov-20.C, g++.dg/gcov/gcov-21.C, + g++.dg/gcov/gcov-23.C, g++.dg/gcov/gcov-3.C, g++.dg/gcov/gcov-4.C, + g++.dg/gcov/gcov-5.C, g++.dg/gcov/gcov-7.C, g++.dg/gcov/gcov-8.C, + g++.dg/gcov/gcov-dump-1.C, g++.dg/gcov/gcov-dump-2.C, + g++.dg/gcov/gcov-threads-1.C, g++.dg/gcov/loop.C, + g++.dg/gcov/pr16855-priority.C, g++.dg/gcov/pr16855.C, + g++.dg/gcov/pr84548.C, g++.dg/gcov/pr86109.C, + g++.dg/gcov/pr88045.C, g++.dg/gcov/pr88263-2.C, + g++.dg/gcov/pr88263.C, g++.dg/gcov/pr97069.C, + g++.dg/gcov/pr98273.C, g++.dg/gcov/ternary.C, + gcc.misc-tests/gcov-1.c, gcc.misc-tests/gcov-10.c, + gcc.misc-tests/gcov-10b.c, gcc.misc-tests/gcov-11.c, + gcc.misc-tests/gcov-12.c, gcc.misc-tests/gcov-13.c, + gcc.misc-tests/gcov-14.c, gcc.misc-tests/gcov-15.c, + gcc.misc-tests/gcov-16.c, gcc.misc-tests/gcov-17.c, + gcc.misc-tests/gcov-18.c, gcc.misc-tests/gcov-19.c, + gcc.misc-tests/gcov-1a.c, gcc.misc-tests/gcov-2.c, + gcc.misc-tests/gcov-20.c, gcc.misc-tests/gcov-22.c, + gcc.misc-tests/gcov-24.c, gcc.misc-tests/gcov-25.c, + gcc.misc-tests/gcov-26.c, gcc.misc-tests/gcov-27.c, + gcc.misc-tests/gcov-28.c, gcc.misc-tests/gcov-29.c, + gcc.misc-tests/gcov-3.c, gcc.misc-tests/gcov-30.c, + gcc.misc-tests/gcov-33.c, gcc.misc-tests/gcov-34.c, + gcc.misc-tests/gcov-4.c, gcc.misc-tests/gcov-4b.c, + gcc.misc-tests/gcov-5b.c, gcc.misc-tests/gcov-6.c, + gcc.misc-tests/gcov-7.c, gcc.misc-tests/gcov-8.c, + gcc.misc-tests/gcov-9.c, gcc.misc-tests/gcov-pr83813.c, + gcc.misc-tests/gcov-pr84758.c, gcc.misc-tests/gcov-pr85217.c, + gcc.misc-tests/gcov-pr85332.c, gcc.misc-tests/gcov-pr85338.c, + gcc.misc-tests/gcov-pr85350.c, gcc.misc-tests/gcov-pr85372.c, + gcc.misc-tests/gcov-pr86536.c, gcc.misc-tests/gcov-pr90574-1.c, + gcc.misc-tests/gcov-pr90574-2.c, gdc.dg/gcov1.d, + gnat.dg/gcov/check.adb: Do not restrict to { target native }. + * lib/gcov.exp (transfer-gcda): New. + (clean-gcov-file): Delete .gcda file on target. + (run-gcov): Transfer .gcda files from target. + +(Note: GCC 14 version has adjusted diff context to avoid merge +conflicts and also changes fewer tests because of new tests added +upstream since GCC 14.) + +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-1.C b/gcc/testsuite/g++.dg/gcov/gcov-1.C +index ee383b480a87..40fee7992a6d 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-1.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-1.C +@@ -2,7 +2,7 @@ + constructs are reported correctly by gcov. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + extern "C" void abort (void); + +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-10.C b/gcc/testsuite/g++.dg/gcov/gcov-10.C +index 4c91be94ee46..d3942ceabd18 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-10.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-10.C +@@ -1,7 +1,7 @@ + /* Ensure PIC sequence used for comdat functions */ + + /* { dg-options "-fprofile-arcs -ftest-coverage -fpic" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + /* { dg-require-effective-target fpic } */ + + inline int __attribute__ ((noinline)) Foo () +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-11.C b/gcc/testsuite/g++.dg/gcov/gcov-11.C +index fa0890206f3a..243c112506ae 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-11.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-11.C +@@ -2,7 +2,7 @@ + distinct from unexecuted normal regions. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + void Baz (int i) + { +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-12.C b/gcc/testsuite/g++.dg/gcov/gcov-12.C +index 9f2b29b4da50..da694bc7c91b 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-12.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-12.C +@@ -1,6 +1,6 @@ + /* PR 51113 */ + /* { dg-options "-fprofile-arcs -ftest-coverage -fpic -fno-implicit-constexpr" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + /* { dg-additional-sources "gcovpart-12b.C" } */ + + struct Foo { +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-13.C b/gcc/testsuite/g++.dg/gcov/gcov-13.C +index c262a71f5364..45668f65cd3a 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-13.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-13.C +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + void Baz (int i) + { +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-14.C b/gcc/testsuite/g++.dg/gcov/gcov-14.C +index b069d0e1881c..ff16f399a03b 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-14.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-14.C +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage -Ofast" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + #include + +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-15.C b/gcc/testsuite/g++.dg/gcov/gcov-15.C +index fcd16b00b1c4..53752449b73f 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-15.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-15.C +@@ -1,6 +1,6 @@ + // PR gcov-profile/64634 + // { dg-options "-fprofile-arcs -ftest-coverage" } +-// { dg-do run { target native } } ++// { dg-do run } + + void catchEx () // count(1) + { +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-16.C b/gcc/testsuite/g++.dg/gcov/gcov-16.C +index f09d4060cbdb..beea2e55e1ae 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-16.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-16.C +@@ -1,6 +1,6 @@ + // PR gcov-profile/64634 + // { dg-options "-fprofile-arcs -ftest-coverage" } +-// { dg-do run { target native } } ++// { dg-do run } + + int main() + { +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-17.C b/gcc/testsuite/g++.dg/gcov/gcov-17.C +index efe019599a59..19d0197ba776 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-17.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-17.C +@@ -1,5 +1,5 @@ + /* { dg-options "--coverage -std=c++11" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + template class Foo + { +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-18.C b/gcc/testsuite/g++.dg/gcov/gcov-18.C +index 620aef126995..ecc4716cbfa7 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-18.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-18.C +@@ -1,5 +1,5 @@ + /* { dg-options "--coverage -fcondition-coverage -std=c++11" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + #include + #include +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-2.C b/gcc/testsuite/g++.dg/gcov/gcov-2.C +index 05db15de7cc5..9fdcfa84fbdd 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-2.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-2.C +@@ -1,7 +1,7 @@ + /* Verify line coverage counts for simple member functions. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage -fno-implicit-constexpr" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + class C { + public: +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-3.C b/gcc/testsuite/g++.dg/gcov/gcov-3.C +index aff063a4b90f..c128757f281b 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-3.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-3.C +@@ -2,7 +2,7 @@ + within a header file. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + #include "gcov-3.h" + +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-4.C b/gcc/testsuite/g++.dg/gcov/gcov-4.C +index 2f83ff1becc6..e148d5c95538 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-4.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-4.C +@@ -4,7 +4,7 @@ + #include + + /* { dg-options "-fprofile-arcs -ftest-coverage -fno-exceptions" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + class foo { + public: +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-5.C b/gcc/testsuite/g++.dg/gcov/gcov-5.C +index 9ada41802caa..fc70b3bee6f7 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-5.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-5.C +@@ -5,7 +5,7 @@ + #include + + /* { dg-options "-fprofile-arcs -ftest-coverage -fno-inline" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + class A { + int count; +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-7.C b/gcc/testsuite/g++.dg/gcov/gcov-7.C +index 334db1837c85..6240a8fb4278 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-7.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-7.C +@@ -3,7 +3,7 @@ + declaration. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + struct foo + { +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-8.C b/gcc/testsuite/g++.dg/gcov/gcov-8.C +index 1c97c35d8c1e..bbb075ccea6b 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-8.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-8.C +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + class C { + public: +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C b/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C +index 774a7269ff2c..8aba2afadcd3 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-dump-1.C +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-generate -ftest-coverage " } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int value; + +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C b/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C +index e748989d2c0b..f50451cf0769 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-dump-2.C +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-generate -ftest-coverage " } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int value; + +diff --git a/gcc/testsuite/g++.dg/gcov/gcov-threads-1.C b/gcc/testsuite/g++.dg/gcov/gcov-threads-1.C +index 3ae00789439b..54fcdcab39c2 100644 +--- a/gcc/testsuite/g++.dg/gcov/gcov-threads-1.C ++++ b/gcc/testsuite/g++.dg/gcov/gcov-threads-1.C +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage -pthread -fprofile-update=atomic" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + /* { dg-require-effective-target profile_update_atomic } */ + + #include +diff --git a/gcc/testsuite/g++.dg/gcov/loop.C b/gcc/testsuite/g++.dg/gcov/loop.C +index e63cb92e6e6d..6d5e4a8632a4 100644 +--- a/gcc/testsuite/g++.dg/gcov/loop.C ++++ b/gcc/testsuite/g++.dg/gcov/loop.C +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + unsigned + loop (unsigned n, int value) /* count(14.0k) */ +diff --git a/gcc/testsuite/g++.dg/gcov/pr16855-priority.C b/gcc/testsuite/g++.dg/gcov/pr16855-priority.C +index c7a58397bb91..bd6acd2c3e84 100644 +--- a/gcc/testsuite/g++.dg/gcov/pr16855-priority.C ++++ b/gcc/testsuite/g++.dg/gcov/pr16855-priority.C +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + /* { dg-require-effective-target init_priority } */ + + #include +diff --git a/gcc/testsuite/g++.dg/gcov/pr16855.C b/gcc/testsuite/g++.dg/gcov/pr16855.C +index f9b86a40001f..5457f4fe3623 100644 +--- a/gcc/testsuite/g++.dg/gcov/pr16855.C ++++ b/gcc/testsuite/g++.dg/gcov/pr16855.C +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + /* See PR91087 for information on Darwin xfails. */ + +diff --git a/gcc/testsuite/g++.dg/gcov/pr84548.C b/gcc/testsuite/g++.dg/gcov/pr84548.C +index 3b60b90e2a26..a83f4cc8b1af 100644 +--- a/gcc/testsuite/g++.dg/gcov/pr84548.C ++++ b/gcc/testsuite/g++.dg/gcov/pr84548.C +@@ -1,6 +1,6 @@ + // PR gcov-profile/84548 + // { dg-options "-fprofile-arcs -ftest-coverage" } +-// { dg-do run { target native } } ++// { dg-do run } + // TODO: add support for groups to gcov.exp script + + struct A { static int foo () { return 1; }; static int bar () { +diff --git a/gcc/testsuite/g++.dg/gcov/pr86109.C b/gcc/testsuite/g++.dg/gcov/pr86109.C +index 9052d2e5a042..63549d68509c 100644 +--- a/gcc/testsuite/g++.dg/gcov/pr86109.C ++++ b/gcc/testsuite/g++.dg/gcov/pr86109.C +@@ -1,6 +1,6 @@ + + /* { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int main() + { +diff --git a/gcc/testsuite/g++.dg/gcov/pr88045.C b/gcc/testsuite/g++.dg/gcov/pr88045.C +index 1b077a5e61a2..9961e9d16a5e 100644 +--- a/gcc/testsuite/g++.dg/gcov/pr88045.C ++++ b/gcc/testsuite/g++.dg/gcov/pr88045.C +@@ -1,6 +1,6 @@ + // PR gcov-profile/88045 + // { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" } +-// { dg-do run { target native } } ++// { dg-do run } + + #include + #include +diff --git a/gcc/testsuite/g++.dg/gcov/pr88263-2.C b/gcc/testsuite/g++.dg/gcov/pr88263-2.C +index f0cf15f5d0a3..a4ddf776a0d8 100644 +--- a/gcc/testsuite/g++.dg/gcov/pr88263-2.C ++++ b/gcc/testsuite/g++.dg/gcov/pr88263-2.C +@@ -1,6 +1,6 @@ + // PR gcov-profile/88263 + // { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" } +-// { dg-do run { target native } } ++// { dg-do run } + + #include + +diff --git a/gcc/testsuite/g++.dg/gcov/pr88263.C b/gcc/testsuite/g++.dg/gcov/pr88263.C +index 854772f0594c..37943a3fe40f 100644 +--- a/gcc/testsuite/g++.dg/gcov/pr88263.C ++++ b/gcc/testsuite/g++.dg/gcov/pr88263.C +@@ -1,6 +1,6 @@ + // PR gcov-profile/88263 + // { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" } +-// { dg-do run { target native } } ++// { dg-do run } + + #include + +diff --git a/gcc/testsuite/g++.dg/gcov/pr97069.C b/gcc/testsuite/g++.dg/gcov/pr97069.C +index 040e336662a9..9171399235e1 100644 +--- a/gcc/testsuite/g++.dg/gcov/pr97069.C ++++ b/gcc/testsuite/g++.dg/gcov/pr97069.C +@@ -1,6 +1,6 @@ + // PR gcov-profile/97069 + // { dg-options "--coverage" } +-// { dg-do run { target native } } ++// { dg-do run } + + # 0 "pr97069.C" + # 0 "" +diff --git a/gcc/testsuite/g++.dg/gcov/pr98273.C b/gcc/testsuite/g++.dg/gcov/pr98273.C +index bfa83cbe4d00..45cd476ed24d 100644 +--- a/gcc/testsuite/g++.dg/gcov/pr98273.C ++++ b/gcc/testsuite/g++.dg/gcov/pr98273.C +@@ -1,7 +1,7 @@ + /* PR gcov-profile/98273 */ + + /* { dg-options "--coverage -std=c++11" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int + main () +diff --git a/gcc/testsuite/g++.dg/gcov/ternary.C b/gcc/testsuite/g++.dg/gcov/ternary.C +index 9b8e34644b46..5ad2b2c6a4e1 100644 +--- a/gcc/testsuite/g++.dg/gcov/ternary.C ++++ b/gcc/testsuite/g++.dg/gcov/ternary.C +@@ -1,5 +1,5 @@ + // { dg-options "-fprofile-arcs -ftest-coverage" } +-// { dg-do run { target native } } ++// { dg-do run } + + int b, c, d, e; + +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-1.c b/gcc/testsuite/gcc.misc-tests/gcov-1.c +index 99a02790dee8..e6606f99ffae 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-1.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-1.c +@@ -1,7 +1,7 @@ + /* Test Gcov basics. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + void noop () + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-10.c b/gcc/testsuite/gcc.misc-tests/gcov-10.c +index bd1d418f378a..8a8370228b99 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-10.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-10.c +@@ -1,7 +1,7 @@ + /* Test gcov block mode. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int main () + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-10b.c b/gcc/testsuite/gcc.misc-tests/gcov-10b.c +index 148d779fdb35..2a4f7a3b25ce 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-10b.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-10b.c +@@ -1,7 +1,7 @@ + /* Test gcov block mode. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int main () + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-11.c b/gcc/testsuite/gcc.misc-tests/gcov-11.c +index a1037a552a94..153a8d2e3965 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-11.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-11.c +@@ -1,7 +1,7 @@ + /* Test gcov block mode. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int one = 1; /* subvert constant folder. */ + int zero = 0; +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-12.c b/gcc/testsuite/gcc.misc-tests/gcov-12.c +index f3d6924c9803..2428b8f990e8 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-12.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-12.c +@@ -1,6 +1,6 @@ + /* Test gcov weak ellision. */ + +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + /* { dg-require-weak "" } */ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ + +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-13.c b/gcc/testsuite/gcc.misc-tests/gcov-13.c +index b42b904ef3e2..b1f0d79ddff4 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-13.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-13.c +@@ -1,6 +1,6 @@ + /* Test gcov weak ellision. */ + +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ + /* { dg-require-weak "" } */ + /* { dg-additional-sources "gcovpart-13b.c" } */ +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-14.c b/gcc/testsuite/gcc.misc-tests/gcov-14.c +index 61a9191c0687..847b09cc13bf 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-14.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-14.c +@@ -1,6 +1,6 @@ + /* Test gcov extern inline. */ + +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + /* { dg-options "-O2 -fprofile-arcs -ftest-coverage -fgnu89-inline" } */ + /* The following line arranges that Darwin has behavior like elf weak import. */ + /* { dg-additional-options "-Wl,-U,_Foo" { target *-*-darwin* } } */ +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-15.c b/gcc/testsuite/gcc.misc-tests/gcov-15.c +index 04273fcec425..d1a66b2ccc1f 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-15.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-15.c +@@ -1,7 +1,7 @@ + /* Test gcov multiple paths to file. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + #if !RECURSIVE + #define RECURSIVE 1 +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-16.c b/gcc/testsuite/gcc.misc-tests/gcov-16.c +index 738113c92cb8..5a6a723364f6 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-16.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-16.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + void + bar (void) +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-17.c b/gcc/testsuite/gcc.misc-tests/gcov-17.c +index e38860808445..c937facf1f2c 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-17.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-17.c +@@ -22,7 +22,7 @@ by both branches of the condition in . + */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + unsigned int + UuT (void) +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-18.c b/gcc/testsuite/gcc.misc-tests/gcov-18.c +index ae1017866db9..8c42e63a6f96 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-18.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-18.c +@@ -3,7 +3,7 @@ + just once. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int a = 0; + +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-19.c b/gcc/testsuite/gcc.misc-tests/gcov-19.c +index 44e2f135e2ae..17d6dde87c68 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-19.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-19.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fcondition-coverage -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + /* Some side effect to stop branches from being pruned. */ + int x = 0; +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-1a.c b/gcc/testsuite/gcc.misc-tests/gcov-1a.c +index 2b9fabce66c9..9279b7855945 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-1a.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-1a.c +@@ -1,7 +1,7 @@ + /* Test Gcov basics. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage -fprofile-abs-path" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + void noop () + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-2.c b/gcc/testsuite/gcc.misc-tests/gcov-2.c +index aa3e4b74e902..dde8f8b7926a 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-2.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-2.c +@@ -1,7 +1,7 @@ + /* Test Gcov basics. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage -g" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + void noop () + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-20.c b/gcc/testsuite/gcc.misc-tests/gcov-20.c +index ca8c12aad2bc..b1357ca47f3f 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-20.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-20.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fcondition-coverage -ftest-coverage -fprofile-update=atomic" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + /* { dg-require-effective-target profile_update_atomic } */ + + /* Some side effect to stop branches from being pruned */ +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-22.c b/gcc/testsuite/gcc.misc-tests/gcov-22.c +index 7ca78467ca31..0c8aba6996da 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-22.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-22.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fcondition-coverage -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + #include + jmp_buf buf; +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-24.c b/gcc/testsuite/gcc.misc-tests/gcov-24.c +index 395099bd7ae3..335857da30cc 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-24.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-24.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int main() + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-3.c b/gcc/testsuite/gcc.misc-tests/gcov-3.c +index 5b07dd74bd1b..5107f89d324a 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-3.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-3.c +@@ -1,4 +1,4 @@ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + /* { dg-require-effective-target label_values } */ + + /* Test Gcov with computed gotos. +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-4.c b/gcc/testsuite/gcc.misc-tests/gcov-4.c +index da7929ef7fcd..f792538e1f54 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-4.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-4.c +@@ -2,7 +2,7 @@ + correctly by gcov. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + extern void abort (void); + +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-4b.c b/gcc/testsuite/gcc.misc-tests/gcov-4b.c +index da98749f719a..3a67b2f6bb5c 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-4b.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-4b.c +@@ -2,7 +2,7 @@ + correctly by gcov. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + extern void abort (void); + +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-5b.c b/gcc/testsuite/gcc.misc-tests/gcov-5b.c +index cbd3958718cc..da53879bd33b 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-5b.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-5b.c +@@ -2,7 +2,7 @@ + that are large enough to hold the count. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + #define LIMIT1 7000 + #define LIMIT2 7000 +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-6.c b/gcc/testsuite/gcc.misc-tests/gcov-6.c +index aefab3ed33a7..9b46d64214a7 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-6.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-6.c +@@ -4,7 +4,7 @@ + for call return percentages was added. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + extern void exit (int); + +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-7.c b/gcc/testsuite/gcc.misc-tests/gcov-7.c +index 2e0f6e8b03c1..a5a20a0a3cd2 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-7.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-7.c +@@ -2,7 +2,7 @@ + * and call return percentages for functions that call longjmp. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + #include + +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-8.c b/gcc/testsuite/gcc.misc-tests/gcov-8.c +index 7223bde8374c..6e0eb918d5e4 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-8.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-8.c +@@ -6,7 +6,7 @@ + */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int proxy (int i) + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-9.c b/gcc/testsuite/gcc.misc-tests/gcov-9.c +index 6e1b4a85c0c5..ed8d57aa9342 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-9.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-9.c +@@ -1,7 +1,7 @@ + /* Test gcov block mode. */ + + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int main () + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-pr83813.c b/gcc/testsuite/gcc.misc-tests/gcov-pr83813.c +index ac935b969f84..8604f1f72f06 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-pr83813.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-pr83813.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + union U + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-pr84758.c b/gcc/testsuite/gcc.misc-tests/gcov-pr84758.c +index 2ae6900375fa..a9530a14e24b 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-pr84758.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-pr84758.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int x, y; + +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-pr85217.c b/gcc/testsuite/gcc.misc-tests/gcov-pr85217.c +index 86a3c4b5a129..cdc2b6fb91ef 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-pr85217.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-pr85217.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int a=0; + +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-pr85332.c b/gcc/testsuite/gcc.misc-tests/gcov-pr85332.c +index 73e50b19fc70..081afdcb0f90 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-pr85332.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-pr85332.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int doit(int sel, int n, void *p) + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-pr85338.c b/gcc/testsuite/gcc.misc-tests/gcov-pr85338.c +index d1e16d29c7a8..8416f478348b 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-pr85338.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-pr85338.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + void Test(long long Val, int Amt) + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-pr85350.c b/gcc/testsuite/gcc.misc-tests/gcov-pr85350.c +index 0383b81fdfb6..7bb8b0a359ca 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-pr85350.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-pr85350.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int main (void) + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-pr85372.c b/gcc/testsuite/gcc.misc-tests/gcov-pr85372.c +index 7c90e68b0dce..10409bd490c4 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-pr85372.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-pr85372.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + /* { dg-require-effective-target indirect_jumps } */ + + void *buf[5]; +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-pr86536.c b/gcc/testsuite/gcc.misc-tests/gcov-pr86536.c +index 481777359995..febfacd92431 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-pr86536.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-pr86536.c +@@ -1,6 +1,6 @@ + // PR gcov-profile/86536 + // { dg-options "-fprofile-arcs -ftest-coverage" } +-// { dg-do run { target native } } ++// { dg-do run } + // { dg-require-fork "" } + + #include +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-pr90574-1.c b/gcc/testsuite/gcc.misc-tests/gcov-pr90574-1.c +index 41ac9bb3eccb..8a6fb09b831d 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-pr90574-1.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-pr90574-1.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int main(int argc, char **argv) + { +diff --git a/gcc/testsuite/gcc.misc-tests/gcov-pr90574-2.c b/gcc/testsuite/gcc.misc-tests/gcov-pr90574-2.c +index 2db70c96f715..1b6f4517b3eb 100644 +--- a/gcc/testsuite/gcc.misc-tests/gcov-pr90574-2.c ++++ b/gcc/testsuite/gcc.misc-tests/gcov-pr90574-2.c +@@ -1,5 +1,5 @@ + /* { dg-options "-fprofile-arcs -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + int main(int argc, char **argv) + { +diff --git a/gcc/testsuite/gdc.dg/gcov1.d b/gcc/testsuite/gdc.dg/gcov1.d +index 10ffa4a0e308..048001663d5f 100644 +--- a/gcc/testsuite/gdc.dg/gcov1.d ++++ b/gcc/testsuite/gdc.dg/gcov1.d +@@ -1,5 +1,5 @@ + /* { dg-options "-fcondition-coverage -ftest-coverage" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + /* Some side effect to stop branches from being pruned. */ + int x = 0; +diff --git a/gcc/testsuite/gnat.dg/gcov/check.adb b/gcc/testsuite/gnat.dg/gcov/check.adb +index b3cb8e36b92d..737272b01c31 100644 +--- a/gcc/testsuite/gnat.dg/gcov/check.adb ++++ b/gcc/testsuite/gnat.dg/gcov/check.adb +@@ -1,5 +1,5 @@ + -- { dg-options "-fprofile-arcs -ftest-coverage" } +--- { dg-do run { target native } } */ ++-- { dg-do run } */ + + procedure Check is + +diff --git a/gcc/testsuite/lib/gcov.exp b/gcc/testsuite/lib/gcov.exp +index dd47d66d1b2e..eed104569be5 100644 +--- a/gcc/testsuite/lib/gcov.exp ++++ b/gcc/testsuite/lib/gcov.exp +@@ -31,6 +31,23 @@ proc clean-gcov-file { testcase suffix } { + set basename [file tail $testcase] + set base [file rootname $basename] + remote_file host delete $base.$suffix ++ # The absolute path to the output when building on the host is ++ # used by the compiled program on the target to determine where ++ # the .gcda file goes there. ++ remote_file target delete [remote_file host absolute $base.$suffix] ++} ++ ++# Transfer the .gcda file for a test from the target to the host. ++ ++proc transfer-gcda { testcase } { ++ set basename [file tail $testcase] ++ set base [file rootname $basename] ++ # The absolute path to the output when building on the host is ++ # used by the compiled program on the target to determine where ++ # the .gcda file goes there. ++ set gcda [remote_file host absolute "$base.gcda"] ++ set gcda [remote_upload target $gcda] ++ remote_download host $gcda + } + + # +@@ -606,6 +623,14 @@ proc run-gcov { args } { + if { $gcov_remove_gcda } { + verbose "Removing $testcase.gcda" + clean-gcov-file $testcase "gcda" ++ } else { ++ transfer-gcda $testcase ++ global additional_sources_used ++ if [info exists additional_sources_used] { ++ foreach srcfile $additional_sources_used { ++ transfer-gcda $srcfile ++ } ++ } + } + + verbose "Running $GCOV $testcase" 2 diff --git a/gcc14-tests-guality-native.patch b/gcc14-tests-guality-native.patch new file mode 100644 index 0000000..af803bf --- /dev/null +++ b/gcc14-tests-guality-native.patch @@ -0,0 +1,232 @@ +commit 620c85fb709d27ab9c523f90dc027d05961fa3bd +Author: Joseph Myers +Date: Wed Jan 14 17:09:40 2026 +0000 + + testsuite: Fix issues with cross testing in guality tests + + The guality tests expect to run (native) GDB on the target. If this + is available, there is some support for cross testing, but with + various defects and limitations, some of them fixed here. + + * GUALITY_GDB_NAME doesn't get passed through to the target for remote + testing (a general limitation of the DejaGnu interface: it doesn't + support setting environment variables on the target). Not fixed + here. + + * Using in-tree GDB is only appropriate when host = target, since + in-tree GDB runs on the host and the testsuite runs GDB on the + target. Fixed here. (Note that [isnative] isn't used because that + refers to build = target, and we need host = target here.) + + * [transform gdb] is not appropriate because that's a cross-GDB and + the tests run GDB on the target, so need a native GDB. Fixed here. + + * gdb-test (used by some guality tests) exits early in cross and + remote cases (whereas the tests running GDB directly from the test + itself via popen can already do so on the target without needing + further patches). Fixed here. There are various other fixes done + in gdb-test as well; it needs to transfer files to the target then + delete them afterwards. + + * report_gdb expects to run GDB on the host when the tests run it on + the target. Fixed here. + + Note: some similar fixes will also be needed for simulate-thread tests + to get them working for cross testing, but I haven't done those yet. + + Tested for x86_64-pc-linux-gnu to make sure native testing isn't + broken, and with cross to aarch64-linux. + + * lib/gcc-gdb-test.exp (gdb-test): Do not return early for + non-native and remote. Download executable and GDB command file + to target before running GDB there, and delete when closing + target. + (report_gdb): Use target when testing GDB availability and + version. + * g++.dg/guality/guality.exp: Only use in-tree GDB when host = + target. Do not use [transform gdb]. + * gcc.dg/guality/guality.exp: Likewise. + * gfortran.dg/guality/guality.exp: Likewise. + +diff --git a/gcc/testsuite/g++.dg/guality/guality.exp b/gcc/testsuite/g++.dg/guality/guality.exp +index 6de5e8091a50..695ed02b89bb 100644 +--- a/gcc/testsuite/g++.dg/guality/guality.exp ++++ b/gcc/testsuite/g++.dg/guality/guality.exp +@@ -40,14 +40,17 @@ dg-init + torture-init + + global GDB ++global host_triplet target_triplet + if ![info exists ::env(GUALITY_GDB_NAME)] { + if [info exists GDB] { + set guality_gdb_name "$GDB" +- } elseif { [info exists rootme] && [file exists $rootme/../gdb/gdb] } { ++ } elseif { [string equal $host_triplet $target_triplet] ++ && [info exists rootme] ++ && [file exists $rootme/../gdb/gdb] } { + # If we're doing a combined build, and gdb is available, use it. + set guality_gdb_name "$rootme/../gdb/gdb" + } else { +- set guality_gdb_name "[transform gdb]" ++ set guality_gdb_name "gdb" + } + setenv GUALITY_GDB_NAME "$guality_gdb_name" + } +diff --git a/gcc/testsuite/gcc.dg/guality/guality.exp b/gcc/testsuite/gcc.dg/guality/guality.exp +index 0dc8f10762d7..4d342aa51658 100644 +--- a/gcc/testsuite/gcc.dg/guality/guality.exp ++++ b/gcc/testsuite/gcc.dg/guality/guality.exp +@@ -40,14 +40,17 @@ dg-init + torture-init + + global GDB ++global host_triplet target_triplet + if ![info exists ::env(GUALITY_GDB_NAME)] { + if [info exists GDB] { + set guality_gdb_name "$GDB" +- } elseif { [info exists rootme] && [file exists $rootme/../gdb/gdb] } { ++ } elseif { [string equal $host_triplet $target_triplet] ++ && [info exists rootme] ++ && [file exists $rootme/../gdb/gdb] } { + # If we're doing a combined build, and gdb is available, use it. + set guality_gdb_name "$rootme/../gdb/gdb" + } else { +- set guality_gdb_name "[transform gdb]" ++ set guality_gdb_name "gdb" + } + setenv GUALITY_GDB_NAME "$guality_gdb_name" + } +diff --git a/gcc/testsuite/gfortran.dg/guality/guality.exp b/gcc/testsuite/gfortran.dg/guality/guality.exp +index 105e08a70d88..3ee157abf7b3 100644 +--- a/gcc/testsuite/gfortran.dg/guality/guality.exp ++++ b/gcc/testsuite/gfortran.dg/guality/guality.exp +@@ -21,14 +21,17 @@ dg-init + torture-init + + global GDB ++global host_triplet target_triplet + if ![info exists ::env(GUALITY_GDB_NAME)] { + if [info exists GDB] { + set guality_gdb_name "$GDB" +- } elseif { [info exists rootme] && [file exists $rootme/../gdb/gdb] } { ++ } elseif { [string equal $host_triplet $target_triplet] ++ && [info exists rootme] ++ && [file exists $rootme/../gdb/gdb] } { + # If we're doing a combined build, and gdb is available, use it. + set guality_gdb_name "$rootme/../gdb/gdb" + } else { +- set guality_gdb_name "[transform gdb]" ++ set guality_gdb_name "gdb" + } + setenv GUALITY_GDB_NAME "$guality_gdb_name" + } +diff --git a/gcc/testsuite/lib/gcc-gdb-test.exp b/gcc/testsuite/lib/gcc-gdb-test.exp +index 942853f183e6..f7c1da8fae25 100644 +--- a/gcc/testsuite/lib/gcc-gdb-test.exp ++++ b/gcc/testsuite/lib/gcc-gdb-test.exp +@@ -27,8 +27,6 @@ + # the literal string with extra whitespace removed. + # Argument 3 handles expected failures and the like + proc gdb-test { useline args } { +- if { ![isnative] || [is_remote target] } { return } +- + if { [llength $args] >= 4 } { + switch [dg-process-target [lindex $args 3]] { + "S" { } +@@ -80,11 +78,17 @@ proc gdb-test { useline args } { + puts $fd "quit" + close $fd + +- send_log "Spawning: $gdb_name -nx -nw -quiet -batch -x $cmd_file ./$output_file\n" +- set res [remote_spawn target "$gdb_name -nx -nw -quiet -batch -x $cmd_file ./$output_file"] ++ set cmd_file_remote [remote_download target $cmd_file] ++ set output_file_remote [remote_download target $output_file] ++ send_log "Spawning: $gdb_name -nx -nw -quiet -batch -x $cmd_file_remote $output_file_remote\n" ++ set res [remote_spawn target "$gdb_name -nx -nw -quiet -batch -x $cmd_file_remote $output_file_remote"] + if { $res < 0 || $res == "" } { + unsupported "$testname" + file delete $cmd_file ++ if { [is_remote target] } { ++ remote_file target delete $cmd_file_remote ++ remote_file target delete $output_file_remote ++ } + return + } + +@@ -94,6 +98,10 @@ proc gdb-test { useline args } { + unsupported "$testname" + remote_close target + file delete $cmd_file ++ if { [is_remote target] } { ++ remote_file target delete $cmd_file_remote ++ remote_file target delete $output_file_remote ++ } + return + } + # print var; print expected +@@ -110,6 +118,10 @@ proc gdb-test { useline args } { + } + remote_close target + file delete $cmd_file ++ if { [is_remote target] } { ++ remote_file target delete $cmd_file_remote ++ remote_file target delete $output_file_remote ++ } + return + } + # ptype var; +@@ -131,12 +143,20 @@ proc gdb-test { useline args } { + } + remote_close target + file delete $cmd_file ++ if { [is_remote target] } { ++ remote_file target delete $cmd_file_remote ++ remote_file target delete $output_file_remote ++ } + return + } + timeout { + unsupported "$testname" + remote_close target + file delete $cmd_file ++ if { [is_remote target] } { ++ remote_file target delete $cmd_file_remote ++ remote_file target delete $output_file_remote ++ } + return + } + } +@@ -144,6 +164,10 @@ proc gdb-test { useline args } { + unsupported "$testname" + remote_close target + file delete $cmd_file ++ if { [is_remote target] } { ++ remote_file target delete $cmd_file_remote ++ remote_file target delete $output_file_remote ++ } + return + } + +@@ -152,15 +176,18 @@ proc gdb-test { useline args } { + # Argument 1 is the location where gdb is used + # + proc report_gdb { gdb loc } { +- if { [catch { exec which $gdb } msg] } { +- send_log "gdb not found in $loc: $msg\n" ++ set status [remote_exec target "which" "$gdb"] ++ set gdb [string trim [lindex $status 1]] ++ if { [lindex $status 0] != 0 } { ++ send_log "gdb not found in $loc: $gdb\n" + return + } +- set gdb [exec which $gdb] + send_log "gdb used in $loc: $gdb\n" + + send_log "gdb used in $loc: " +- if { [catch { exec $gdb -v } gdb_version] } { ++ set status [remote_exec target "$gdb" "-v"] ++ set gdb_version [lindex $status 1] ++ if { [lindex $status 0] != 0 } { + send_log "getting version failed:\n" + } else { + send_log "version:\n" diff --git a/gcc14-tests-misc-native.patch b/gcc14-tests-misc-native.patch new file mode 100644 index 0000000..9508046 --- /dev/null +++ b/gcc14-tests-misc-native.patch @@ -0,0 +1,69 @@ +commit 5bebe71d30b9c7d1479a9b8c0de342bf3ada4b8b +Author: Joseph Myers +Date: Mon Jan 19 21:16:46 2026 +0000 + + testsuite: Do not restrict five tests to { target native } + + Five miscellaneous tests use { target native }, while not doing + anything that actually needs some kind of special handling for cross + testing. Remove the { target native } restriction from those tests. + + Tested for x86_64-pc-linux-gnu, and with cross to aarch64-linux. + + * g++.old-deja/g++.mike/eh30.C, g++.old-deja/g++.mike/p4750.C, + g++.old-deja/g++.robertl/eb106.C, g++.old-deja/g++.robertl/eb83.C, + gcc.dg/20020201-1.c: Do not use { target native }. + +diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh30.C b/gcc/testsuite/g++.old-deja/g++.mike/eh30.C +index 848809245c14..31c2c856f0c2 100644 +--- a/gcc/testsuite/g++.old-deja/g++.mike/eh30.C ++++ b/gcc/testsuite/g++.old-deja/g++.mike/eh30.C +@@ -1,4 +1,4 @@ +-// { dg-do assemble { target native } } ++// { dg-do assemble } + // { dg-options "-fexceptions -fPIC -S" } + + int +diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p4750.C b/gcc/testsuite/g++.old-deja/g++.mike/p4750.C +index ccf462be00d4..f9353e529fab 100644 +--- a/gcc/testsuite/g++.old-deja/g++.mike/p4750.C ++++ b/gcc/testsuite/g++.old-deja/g++.mike/p4750.C +@@ -1,4 +1,4 @@ +-// { dg-do assemble { target native } } ++// { dg-do assemble } + // { dg-options "-fpic -pedantic-errors -S" } + // prms-id: 4750 + +diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C +index b341cff55023..3f4dce099fe8 100644 +--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C ++++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb106.C +@@ -1,4 +1,4 @@ +-// { dg-do assemble { target native } } ++// { dg-do assemble } + // { dg-options "-O2 -fPIC " } + struct T + { +diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb83.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb83.C +index 47cf5b88f041..41e8ff629979 100644 +--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb83.C ++++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb83.C +@@ -1,4 +1,4 @@ +-// { dg-do run { target native } } ++// { dg-do run } + // { dg-options "-fprofile-arcs -ftest-coverage" } + void + test_swap(int& x, int& y) throw() +diff --git a/gcc/testsuite/gcc.dg/20020201-1.c b/gcc/testsuite/gcc.dg/20020201-1.c +index 1cb2a8788044..fb48a230e962 100644 +--- a/gcc/testsuite/gcc.dg/20020201-1.c ++++ b/gcc/testsuite/gcc.dg/20020201-1.c +@@ -5,7 +5,7 @@ + call-clobbered global pointer. */ + + /* { dg-options "-fprofile-arcs" } */ +-/* { dg-do run { target native } } */ ++/* { dg-do run } */ + + #include + diff --git a/gcc14-tests-simulate-thread-native.patch b/gcc14-tests-simulate-thread-native.patch new file mode 100644 index 0000000..a72c510 --- /dev/null +++ b/gcc14-tests-simulate-thread-native.patch @@ -0,0 +1,115 @@ +commit 3119cfc9118eb8545dac9bf765c93f762ad8794a +Author: Joseph Myers +Date: Wed Jan 14 17:10:33 2026 +0000 + + testsuite: Enable cross testing for simulate-thread tests + + The simulate-thread tests exit early in cross and remote cases. Apply + fixes similar to (but affecting separate code) those recently posted + for the guality tests: do not use [transform gdb] since that's a cross + GDB and the tests expect to run GDB on the target, test existence on + the target not the build system, and copy required files to the target + (deleting them later). + + Tested for x86_64-pc-linux-gnu to make sure native testing isn't + broken, and with cross to aarch64-linux. + + * lib/gcc-dg.exp (gdb-exists): Do not use [transform gdb]. Run + selected GDB with -v on target rather than testing for existence + on build system. + * lib/gcc-simulate-thread.exp (simulate-thread): Do not return + early for non-native and remote. Download executable and GDB + command file to target before running GDB there, and delete when + closing target. + +diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp +index 87dddb8cd8ac..f2e5228fff58 100644 +--- a/gcc/testsuite/lib/gcc-dg.exp ++++ b/gcc/testsuite/lib/gcc-dg.exp +@@ -1374,11 +1374,12 @@ proc gdb-exists { args } { + if [info exists GDB] { + setenv GDB_FOR_GCC_TESTING "$GDB" + } else { +- setenv GDB_FOR_GCC_TESTING "[transform gdb]" ++ setenv GDB_FOR_GCC_TESTING "gdb" + } + } + } +- if { [which $::env(GDB_FOR_GCC_TESTING)] != 0 } { ++ if { [lindex [remote_exec target "$::env(GDB_FOR_GCC_TESTING)" "-v"] 0] ++ == 0 } { + return 1; + } + return 0; +diff --git a/gcc/testsuite/lib/gcc-simulate-thread.exp b/gcc/testsuite/lib/gcc-simulate-thread.exp +index 115b636e603d..dcbcd3dc08ef 100644 +--- a/gcc/testsuite/lib/gcc-simulate-thread.exp ++++ b/gcc/testsuite/lib/gcc-simulate-thread.exp +@@ -24,8 +24,6 @@ load_lib timeout.exp + # Call 'fail' if a given test printed "FAIL:", otherwise call 'pass'. + + proc simulate-thread { args } { +- if { ![isnative] || [is_remote target] } { return } +- + if { [llength $args] == 1 } { + switch [dg-process-target [lindex $args 0]] { + "F" { setup_xfail "*-*-*" } +@@ -49,10 +47,16 @@ proc simulate-thread { args } { + + set message "thread simulation test" + +- send_log "Spawning: $gdb_name -nx -nw -batch -x $cmd_file ./$exec_file\n" +- set res [remote_spawn target "$gdb_name -nx -nw -batch -x $cmd_file ./$exec_file"] ++ set cmd_file_remote [remote_download target $cmd_file] ++ set exec_file_remote [remote_download target $exec_file] ++ send_log "Spawning: $gdb_name -nx -nw -batch -x $cmd_file_remote $exec_file_remote\n" ++ set res [remote_spawn target "$gdb_name -nx -nw -batch -x $cmd_file_remote $exec_file_remote"] + if { $res < 0 || $res == "" } { + unsupported "$testcase $message" ++ if { [is_remote target] } { ++ remote_file target delete $cmd_file_remote ++ remote_file target delete $exec_file_remote ++ } + return + } + +@@ -62,11 +66,19 @@ proc simulate-thread { args } { + # Too old GDB + -re "Unhandled dwarf expression|Error in sourced command file" { + unsupported "$testcase $message" ++ if { [is_remote target] } { ++ remote_file target delete $cmd_file_remote ++ remote_file target delete $exec_file_remote ++ } + remote_close target + return + } + -re "FAIL:" { + fail "$testcase $message" ++ if { [is_remote target] } { ++ remote_file target delete $cmd_file_remote ++ remote_file target delete $exec_file_remote ++ } + remote_close target + return + } +@@ -79,11 +91,19 @@ proc simulate-thread { args } { + } + timeout { + fail "$testcase $message" ++ if { [is_remote target] } { ++ remote_file target delete $cmd_file_remote ++ remote_file target delete $exec_file_remote ++ } + remote_close target + return + } + } + ++ if { [is_remote target] } { ++ remote_file target delete $cmd_file_remote ++ remote_file target delete $exec_file_remote ++ } + remote_close target + if {$gdb_worked} { + pass "$testcase $message" diff --git a/gcc14-tests-tree-prof-native.patch b/gcc14-tests-tree-prof-native.patch new file mode 100644 index 0000000..2e47c08 --- /dev/null +++ b/gcc14-tests-tree-prof-native.patch @@ -0,0 +1,63 @@ +commit e373a57b07de9290e8e3f6913f4179404f0b886e +Author: Joseph Myers +Date: Mon Jan 26 16:49:29 2026 +0000 + + testsuite: Make profopt-execute also copy profile data for dg-additional-sources + + Most gcc.dg/tree-prof tests work correctly in environments where .gcda + files from the first run need to be copied from the target, because + there is existing code in profopt-execute to do so. A few tests using + dg-additional-sources fail because that code only copies the .gcda + file for the main test source file. Add similar code to copy it for + any sources listed in dg-additional-sources as well. + + The use of additional_sources_used is consistent with what + profopt-target-cleanup does. It turns out to require the added call + to cleanup-after-saved-dg-test to avoid additional_sources_used + leaking from one test into the next. + + Tested for x86_64-pc-linux-gnu to make sure native testing isn't + broken, and with cross to aarch64-linux. + + * lib/profopt.exp (profopt-execute): Also copy profile data from + target for additional sources. Call cleanup-after-saved-dg-test + before normal return. + +diff --git a/gcc/testsuite/lib/profopt.exp b/gcc/testsuite/lib/profopt.exp +index 3188ba8a5348..c9f5ae53d499 100644 +--- a/gcc/testsuite/lib/profopt.exp ++++ b/gcc/testsuite/lib/profopt.exp +@@ -312,6 +312,7 @@ proc profopt-execute { src } { + global generate_final_code use_final_code + global verbose + global testname_with_flags ++ global additional_sources_used + + if ![info exists profile_option] { + error "No profile option specified for first compile." +@@ -474,6 +475,19 @@ proc profopt-execute { src } { + set missing_file 1 + fail "$testcase execution: file $bprefix$base.$ext does not exist, $option $profile_option" + } ++ if [info exists additional_sources_used] { ++ foreach srcfile $additional_sources_used { ++ set add_basename [file tail $srcfile] ++ set add_base [file rootname $add_basename] ++ remote_upload target $tmpdir/$bprefix$add_base.$ext ++ set files [glob -nocomplain $bprefix$add_base.$ext] ++ if { $files == "" } { ++ set status "fail" ++ set missing_file 1 ++ fail "$testcase execution: file $bprefix$add_base.$ext does not exist, $option $profile_option" ++ } ++ } ++ } + } + } + if { $missing_file == 0 } { +@@ -606,4 +620,5 @@ proc profopt-execute { src } { + } + } + unset testname_with_flags ++ cleanup-after-saved-dg-test + }