]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Stub out execstack, multidir, and ifunc problems
authorStan Shebs <stanshebs@google.com>
Mon, 22 Jan 2018 19:43:05 +0000 (11:43 -0800)
committerStan Shebs <stanshebs@google.com>
Thu, 25 Jan 2018 00:03:39 +0000 (16:03 -0800)
nptl/Makefile
nptl/pt-vfork.c

index 7940b3d26bf60723fb0d874c50657b7d2acff42d..eaf268d076f4b0b6a598e9f7fa1f9ce1af5ba03c 100644 (file)
@@ -378,15 +378,21 @@ tests += tst-atfork2 tst-tls4 tst-_res1 tst-fini1 tst-compat-forwarder
 tests-internal += tst-tls3 tst-tls3-malloc tst-tls5 tst-stackguard1
 tests-nolibpthread += tst-fini1
 ifeq ($(have-z-execstack),yes)
+# Test depends on a nested function, can't compile without rewrite
+ifneq ($(with-clang),yes)
 tests += tst-execstack
 endif
 endif
+endif
 
 modules-names = tst-atfork2mod tst-tls3mod tst-tls4moda tst-tls4modb \
                tst-tls5mod tst-tls5moda tst-tls5modb tst-tls5modc \
                tst-tls5modd tst-tls5mode tst-tls5modf tst-stack4mod \
-               tst-_res1mod1 tst-_res1mod2 tst-execstack-mod tst-fini1mod \
+               tst-_res1mod1 tst-_res1mod2 tst-fini1mod \
                tst-join7mod tst-compat-forwarder-mod
+ifneq ($(with-clang),yes)
+modules-names += tst-execstack-mod
+endif
 extra-test-objs += $(addsuffix .os,$(strip $(modules-names))) \
                   tst-cleanup4aux.o tst-cleanupx4aux.o
 test-extras += tst-cleanup4aux tst-cleanupx4aux
@@ -411,10 +417,11 @@ ifeq ($(build-shared),yes)
 
 # Set the `multidir' variable by grabbing the variable from the compiler.
 # We do it once and save the result in a generated makefile.
+# Suppress not-working clang attempt to include 32 and x32 multidirs.
 -include $(objpfx)multidir.mk
 $(objpfx)multidir.mk: $(common-objpfx)config.make
        $(make-target-directory)
-       dir=`$(CC) $(CFLAGS) $(CPPFLAGS) -print-multi-directory`; \
+       dir="."; \
        echo "multidir := $$dir" > $@T
        mv -f $@T $@
 
index 2f890d3f3070d0e2abc4122e5e49f6e174b51c89..0c694ed2e609a8ed15ac4cf2f3d946bdf09e6ff8 100644 (file)
@@ -37,7 +37,7 @@
    produce a tail-call to __libc_vfork, consider including the version
    in sysdeps/unix/sysv/linux/aarch64/pt-vfork.c.  */
 
-#if !HAVE_IFUNC
+#if 0 /*!HAVE_IFUNC*/
 # error "must write pt-vfork for this machine or get IFUNC support"
 #endif