summaryrefslogtreecommitdiff
path: root/elf/Makefile
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-06-30 12:53:04 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-09-10 09:34:03 -0700
commitf10bae9a102a00ec97a38d009013c5aa616c847f (patch)
tree7dfdbcbc287ad0d79ca93b324a76dd9c65d46c41 /elf/Makefile
parent01b07c70ad77ef28b6a3661ed3142ebff35b6e69 (diff)
downloadglibc-f10bae9a102a00ec97a38d009013c5aa616c847f.tar.gz
Add STB_SECONDARY support to ld.sohjl/secondary/2.21
Enable STB_SECONDARY if it is supported by binutils. Add 3 STB_SECONDARY tests. * config.h.in: Add HAVE_ASM_SECONDARY_DIRECTIVE. * config.make.in (have-secondary): New macro. * configure.in: Check if STB_SECONDARY is supported by as/ld. Define HAVE_ASM_SECONDARY_DIRECTIVE and set have-secondary to yes if the .secondary assembly directive works. * configure: Regenerated. * elf/Makefile (tests): Add tst-secondary1 tst-secondary2 tst-secondary3 if STB_SECONDARY is supported by as/ld. (modules-names): Add tst-secondarymod tst-secondary1mod tst-secondary2mod tst-secondary3mod if STB_SECONDARY is supported by as/ld. (LDFLAGS-tst-secondarymod.so): New macro. ($(objpfx)tst-secondary1): New rule. ($(objpfx)tst-secondary2): Likewise. ($(objpfx)tst-secondary3): Likewise. * elf/dl-addr.c (determine_info): Also check STB_SECONDARY. * elf/dl-lookup.c (do_lookup_x): Handle STB_SECONDARY. (_dl_lookup_symbol_x): Likewise. * elf/sprof.c (read_symbols): Likewise. * elf/elf.h (STB_SECONDARY): New. (STB_NUM): Updated. * elf/tst-secondary.h: New file. * elf/tst-secondary1.c: Likewise. * elf/tst-secondary1mod.c: Likewise. * elf/tst-secondary2.c: Likewise. * elf/tst-secondary2mod.c: Likewise. * elf/tst-secondary3.c: Likewise. * elf/tst-secondary3mod.c: Likewise. * elf/tst-secondarymod.c: Likewise.
Diffstat (limited to 'elf/Makefile')
-rw-r--r--elf/Makefile17
1 files changed, 17 insertions, 0 deletions
diff --git a/elf/Makefile b/elf/Makefile
index e5b142c7c6..15945367ec 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -254,6 +254,12 @@ modules-names += ifuncmod1 ifuncmod3 ifuncmod5 ifuncmod6
endif
endif
+ifeq (yes,$(have-secondary))
+tests += tst-secondary1 tst-secondary2 tst-secondary3
+modules-names += tst-secondarymod tst-secondary1mod tst-secondary2mod \
+ tst-secondary3mod
+endif
+
ifeq (yes,$(build-shared))
ifeq ($(run-built-tests),yes)
tests-special += $(objpfx)tst-pathopt.out $(objpfx)tst-rtld-load-self.out
@@ -1120,6 +1126,17 @@ $(objpfx)ifuncmain5static: $(addprefix $(objpfx),ifuncdep5.o)
$(objpfx)ifuncmain5staticpic: $(addprefix $(objpfx),ifuncdep5pic.o)
$(objpfx)ifuncmain5picstatic: $(addprefix $(objpfx),ifuncdep5pic.o)
+LDFLAGS-tst-secondarymod.so = -Wl,-z,secondary
+
+$(objpfx)tst-secondary1: $(objpfx)tst-secondarymod.so \
+ $(objpfx)tst-secondary1mod.so
+
+$(objpfx)tst-secondary2: $(objpfx)tst-secondarymod.so \
+ $(objpfx)tst-secondary2mod.so
+
+$(objpfx)tst-secondary3: $(objpfx)tst-secondarymod.so \
+ $(objpfx)tst-secondary3mod.so
+
$(objpfx)tst-unique1: $(libdl)
$(objpfx)tst-unique1.out: $(objpfx)tst-unique1mod1.so \
$(objpfx)tst-unique1mod2.so