You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.4 KiB
55 lines
2.4 KiB
2 years ago
|
commit 221e4babca17b363df2c56e839572e9f7ab7d127
|
||
|
Author: Joseph Myers <joseph@codesourcery.com>
|
||
|
Date: Wed Sep 12 20:31:24 2018 +0000
|
||
|
|
||
|
Include most of elf/ modules-names in modules-names-tests.
|
||
|
|
||
|
I'm testing a patch to let the compiler expand calls to floor in libm
|
||
|
as built-in function calls as much as possible, instead of calling
|
||
|
__floor, so that no architecture-specific __floor inlines are needed,
|
||
|
and then to arrange for non-inlined calls to end up calling __floor,
|
||
|
as done with sqrt and __ieee754_sqrt.
|
||
|
|
||
|
This shows up elf/tst-relsort1mod2.c calling floor, which must not be
|
||
|
converted to a call to __floor. Now, while an IS_IN (libm)
|
||
|
conditional could be added to the existing conditionals on such
|
||
|
redirections in include/math.h, the _ISOMAC conditional ought to
|
||
|
suffice (code in other glibc libraries shouldn't be calling floor or
|
||
|
sqrt anyway, as they aren't provided in libc and the other libraries
|
||
|
don't link with libm). But while tests are mostly now built with
|
||
|
_ISOMAC defined, test modules in modules-names aren't unless also
|
||
|
listed in modules-names-tests.
|
||
|
|
||
|
As far as I can see, all the modules in modules-names in elf/ are in
|
||
|
fact parts of tests and so listing them in modules-names-tests is
|
||
|
appropriate, so they get built with something closer to the headers
|
||
|
used for user code, except in a few cases that actually rely on
|
||
|
something from internal headers. This patch duly sets
|
||
|
modules-names-tests there accordingly (filtering out those tests that
|
||
|
fail to build without internal headers).
|
||
|
|
||
|
Tested for x86_64, and with build-many-glibcs.py.
|
||
|
|
||
|
* elf/Makefile (modules-names-tests): New variable.
|
||
|
|
||
|
Conflicts:
|
||
|
elf/Makefile
|
||
|
(Different backport order for tests.)
|
||
|
|
||
|
diff --git a/elf/Makefile b/elf/Makefile
|
||
|
index b4b618ce62a9e6df..89dff92adfc417f5 100644
|
||
|
--- a/elf/Makefile
|
||
|
+++ b/elf/Makefile
|
||
|
@@ -306,6 +306,11 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
|
||
|
tst-dlopenfailmod3 \
|
||
|
tst-filterobj-flt tst-filterobj-aux tst-filterobj-filtee
|
||
|
|
||
|
+# Most modules build with _ISOMAC defined, but those filtered out
|
||
|
+# depend on internal headers.
|
||
|
+modules-names-tests = $(filter-out ifuncmod% tst-libc_dlvsym-dso tst-tlsmod%,\
|
||
|
+ $(modules-names))
|
||
|
+
|
||
|
ifeq (yes,$(have-mtls-dialect-gnu2))
|
||
|
tests += tst-gnu2-tls1
|
||
|
modules-names += tst-gnu2-tls1mod
|