From patchwork Tue Sep 11 20:20:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 29310 Received: (qmail 107224 invoked by alias); 11 Sep 2018 20:20:22 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 107210 invoked by uid 89); 11 Sep 2018 20:20:22 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-24.5 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=duly, suffice, libm X-HELO: relay1.mentorg.com Date: Tue, 11 Sep 2018 20:20:14 +0000 From: Joseph Myers To: CC: Subject: Include most of elf/ modules-names in modules-names-tests Message-ID: User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 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. 2018-09-11 Joseph Myers * elf/Makefile (modules-names-tests): New variable. diff --git a/elf/Makefile b/elf/Makefile index cd0771307f..05430b30d3 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -274,6 +274,8 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ tst-nodelete-dlclose-dso tst-nodelete-dlclose-plugin \ tst-main1mod tst-libc_dlvsym-dso tst-absolute-sym-lib \ tst-absolute-zero-lib tst-big-note-lib +modules-names-tests = $(filter-out ifuncmod% tst-libc_dlvsym-dso,\ + $(modules-names)) ifeq (yes,$(have-mtls-dialect-gnu2)) tests += tst-gnu2-tls1