]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Use $(pie-default) with conformtest
authorJoseph Myers <joseph@codesourcery.com>
Fri, 17 Sep 2021 19:24:14 +0000 (19:24 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 17 Sep 2021 19:24:14 +0000 (19:24 +0000)
My glibc bot showed that my conformtest changes fail the build of the
conformtest execution tests for x86_64-linux-gnu-static-pie, because
linking the newly built object with the newly built libc and the
associated options normally used for linking requires it to be built
as PIE.  Add $(pie-default) to the compiler command used so that PIE
options are used when required.

There's a case for using the whole of $(CFLAGS-.o) (which includes
$(pie-default)), but that raises questions of any impact from using
optimization flags from CFLAGS in these tests.  So for now just use
$(pie-default) as the key part of $(CFLAGS-.o) that's definitely
needed.

Tested with build-many-glibcs.py for x86_64-linux-gnu-static-pie.

conform/Makefile

index 296db818f0a7225328fce7aaed79e2da4d1850c6..27ad98caf866879f1dabf6f5a46b4e521e498287 100644 (file)
@@ -175,7 +175,8 @@ $(conformtest-header-tests): $(objpfx)%/conform.out: \
                             conformtest.py $(conformtest-headers-data)
        (set -e; std_hdr=$*; std=$${std_hdr%%/*}; hdr=$${std_hdr#*/}; \
         mkdir -p $(@D); \
-        $(PYTHON) $< --cc='$(CC)' --flags='$(conformtest-cc-flags)' \
+        $(PYTHON) $< --cc='$(CC) $(pie-default)' \
+                  --flags='$(conformtest-cc-flags)' \
                   --ldflags='$(+link-tests-before-inputs)' \
                   --libs='$(+link-tests-after-inputs)' \
                   --run-program-prefix='$(run-program-prefix)' \