diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-08-04 11:47:08 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-08-04 11:47:23 -0700 |
commit | 3093fd5e5d418b91411aa9b061850b8773433cf7 (patch) | |
tree | 9500b921620218982b920a280e42c0a3f44ce9a1 /elf | |
parent | d2cf37c0a2a375cf2fde69f1afbcc49e45368fc4 (diff) | |
download | glibc-3093fd5e5d418b91411aa9b061850b8773433cf7.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.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/Makefile | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/elf/Makefile b/elf/Makefile index e758a4c960..2956445de8 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))) |