From 3b02f78300e1addd7dde596ddce830d42e718e52 Mon Sep 17 00:00:00 2001 From: Michael Olbrich Date: Sat, 8 Dec 2012 11:25:52 +0100 Subject: glibc: only create libc.a ld script for glibc versions that need it For newer glibc version (at least >= 2.16) this ld script is broken because libnss_*.a do not exist anymore. The code is now part of libc.a Signed-off-by: Michael Olbrich --- rules/glibc.make | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/rules/glibc.make b/rules/glibc.make index 470b84d..0d7a4bf 100644 --- a/rules/glibc.make +++ b/rules/glibc.make @@ -157,11 +157,13 @@ $(STATEDIR)/glibc.install: # Fix a bug when linking statically # see: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=76451 # - mv -- "$(SYSROOT)/usr/lib/libc.a" "$(SYSROOT)/usr/lib/libc_ns.a" - echo '/* GNU ld script' > "$(SYSROOT)/usr/lib/libc.a" - echo ' Use the static library, but some functions are in other strange' >> "$(SYSROOT)/usr/lib/libc.a" - echo ' libraries :-( So try them secondarily. */' >> "$(SYSROOT)/usr/lib/libc.a" - echo 'GROUP ( /usr/lib/libc_ns.a /usr/lib/libnss_files.a /usr/lib/libnss_dns.a /usr/lib/libresolv.a )' >> "$(SYSROOT)/usr/lib/libc.a" + if [ -e "$(SYSROOT)/usr/lib/libnss_files.a" ]; then \ + mv -- "$(SYSROOT)/usr/lib/libc.a" "$(SYSROOT)/usr/lib/libc_ns.a" && \ + echo '/* GNU ld script' > "$(SYSROOT)/usr/lib/libc.a" && \ + echo ' Use the static library, but some functions are in other strange' >> "$(SYSROOT)/usr/lib/libc.a" && \ + echo ' libraries :-( So try them secondarily. */' >> "$(SYSROOT)/usr/lib/libc.a" && \ + echo 'GROUP ( /usr/lib/libc_ns.a /usr/lib/libnss_files.a /usr/lib/libnss_dns.a /usr/lib/libresolv.a )' >> "$(SYSROOT)/usr/lib/libc.a" ; \ + fi @$(call touch) -- cgit v1.2.3