diff options
author | Roland McGrath <roland@redhat.com> | 2010-04-19 15:31:43 -0700 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 2010-04-19 15:31:43 -0700 |
commit | 7e2b0c8562b35155820f87b5ff02a8b6850344cc (patch) | |
tree | c54e65138af14a8285202c940b74512d6759a108 | |
parent | c98d4212d0d7c9dfc34cf18ea95740370bca5aad (diff) | |
download | glibc-7e2b0c8562b35155820f87b5ff02a8b6850344cc.tar glibc-7e2b0c8562b35155820f87b5ff02a8b6850344cc.tar.gz glibc-7e2b0c8562b35155820f87b5ff02a8b6850344cc.tar.bz2 glibc-7e2b0c8562b35155820f87b5ff02a8b6850344cc.zip |
Link as-needed against ld.so.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Makeconfig | 11 |
2 files changed, 13 insertions, 1 deletions
@@ -1,5 +1,8 @@ 2010-04-19 Roland McGrath <roland@redhat.com> + * Makeconfig (as-needed, no-as-needed): New variables. + (link-libc): Add ld.so inside --as-needed. + * stdio-common/tst-fmemopen.c (TEST_FILE): Macro removed. (main): Take arguments. Construct test file name from ARGV[0]. diff --git a/Makeconfig b/Makeconfig index cd77fe16b8..c5a58f2abf 100644 --- a/Makeconfig +++ b/Makeconfig @@ -387,6 +387,14 @@ ifeq ($(elf),yes) have-initfini = yes endif +ifeq ($(have-as-needed),yes) +as-needed := -Wl,--as-needed +no-as-needed := -Wl,--no-as-needed +else +as-needed := +no-as-needed := +endif + # Installed name of the startup code. ifneq ($(have-initfini),yes) # When not having init/fini, there is just one startfile, called crt0.o. @@ -484,7 +492,8 @@ ifeq ($(elf),yes) # run the linked programs. link-libc = -Wl,-rpath-link=$(rpath-link) \ $(common-objpfx)libc.so$(libc.so-version) \ - $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib) + $(common-objpfx)$(patsubst %,$(libtype.oS),c) \ + $(as-needed) $(common-objpfx)elf/ld.so $(no-as-needed) $(gnulib) # This is how to find at build-time things that will be installed there. rpath-dirs = math elf dlfcn nss nis rt resolv crypt endif |