]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Handle tests-unsupported if run-built-tests = no.
authorJoseph Myers <joseph@codesourcery.com>
Fri, 4 Nov 2016 21:28:03 +0000 (21:28 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 4 Nov 2016 21:28:03 +0000 (21:28 +0000)
The tests-unsupported variable lists tests that should neither be
compiled nor run, because some support needed to compile them is
missing.

The implementation of this feature involves having a rule to create
.out files for these tests that takes precedence over the default
rule.  This does not work in the run-built-tests = no case (cross
compiling without use of a wrapper to run the tests on a separate
system, in which cases most tests are compiled only) because in that
case the tests target depends on $(tests) to ensure all tests get
compiled.  This patch changes that dependency to filter out
$(tests-unsupported).

Tested with cross-compilation to ARM with GCC 5, where libstdc++ is
missing some C++11 support because of the bug I fixed in
<https://gcc.gnu.org/ml/gcc-patches/2015-10/msg01040.html> and so
tests-unsupported is nonempty and the tests in question fail to
compile.  (When I originally observed the bug, it was with a native
build / test simply using an x86_64 compiler that had been configured
as a cross compiler to isolate it from the system headers / libraries,
so the configuration issue applied to the compiler but run-built-tests
was yes, so I don't observe the issue with tests-unsupported with that
compiler.)

* Rules [$(run-built-tests) = no] (tests): Do not depend on
$(tests-unsupported).

ChangeLog
Rules

index 27ebce73bb8ae18b35a331093df79f02def4d353..0d3f7781fbfd87a81f5be27d8e58a4cf03dbf28a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-04  Joseph Myers  <joseph@codesourcery.com>
+
+       * Rules [$(run-built-tests) = no] (tests): Do not depend on
+       $(tests-unsupported).
+
 2016-11-04  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
        * sysdeps/unix/sysv/linux/sparc/bits/wordsize.h
diff --git a/Rules b/Rules
index 342d659408cfb571bb653d58a67572ddcac57ad4..4b95997a06024a3c5b503b6de8256584142d64ae 100644 (file)
--- a/Rules
+++ b/Rules
@@ -114,7 +114,8 @@ else
 others: $(addprefix $(objpfx),$(extra-objs))
 endif
 ifeq ($(run-built-tests),no)
-tests: $(addprefix $(objpfx),$(tests) $(test-srcs)) $(tests-special)
+tests: $(addprefix $(objpfx),$(filter-out $(tests-unsupported),$(tests)) \
+                            $(test-srcs)) $(tests-special)
 xtests: tests $(xtests-special)
 else
 tests: $(tests:%=$(objpfx)%.out) $(tests-special)