summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-06-26 11:19:41 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-06-28 11:12:26 -0700
commit82c62e711080e9cb81d5cde1065b4f88e736830d (patch)
treee1756da2f4cf122e474851474701157826e6cfc2
parent614d15f9324a871cc742a8952a3117c57831a3c5 (diff)
downloadglibc-82c62e711080e9cb81d5cde1065b4f88e736830d.tar.gz
Run vismain only if linker supports protected data symbol
Gold doesn't support protected data symbol: configure:5672: checking linker support for protected data symbol configure:5682: gcc -fuse-ld=gold -nostdlib -nostartfiles -fno-stack-protector -fPIC -shared conftest.c -o conftest.so configure:5685: $? = 0 configure:5692: gcc -fuse-ld=gold -nostdlib -nostartfiles -fno-stack-protector conftest.c -o conftest conftest.so /usr/local/bin/ld.gold: error: /tmp/ccXWoofs.o: cannot make copy relocation for protected symbol 'bar', defined in conftest.so collect2: error: ld returned 1 exit status Run vismain only if linker supports protected data symbol. * elf/Makefile (tests): Add vismain only if $(have-protected-data) == yes. (tests-pie): Likewise.
-rw-r--r--elf/Makefile2
1 files changed, 2 insertions, 0 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 201b328f88..62084b4b0a 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -289,10 +289,12 @@ ifeq (yesyes,$(have-fpie)$(build-shared))
modules-names += tst-piemod1
tests += tst-pie1 tst-pie2
tests-pie += tst-pie1 tst-pie2
+ifeq (yes,$(have-protected-data))
tests += vismain
tests-pie += vismain
CFLAGS-vismain.c = $(PIE-ccflag)
endif
+endif
modules-execstack-yes = tst-execstack-mod
extra-test-objs += $(addsuffix .os,$(strip $(modules-names)))