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