From: Stan Shebs Date: Mon, 22 Jan 2018 19:43:05 +0000 (-0800) Subject: Stub out execstack, multidir, and ifunc problems X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b353dca40ce8b8118420ef74f605d14d50a7ac76;p=thirdparty%2Fglibc.git Stub out execstack, multidir, and ifunc problems --- diff --git a/nptl/Makefile b/nptl/Makefile index 7940b3d26bf..eaf268d076f 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -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 $@ diff --git a/nptl/pt-vfork.c b/nptl/pt-vfork.c index 2f890d3f307..0c694ed2e60 100644 --- a/nptl/pt-vfork.c +++ b/nptl/pt-vfork.c @@ -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