summaryrefslogtreecommitdiffstats
path: root/patches/glibc-2.14.1/0002-fix-build-error-with-static-nss.patch
blob: d72b973059f9d8a34c16d3daeb9649c602633e0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
From: Dan Kegel <dank@kegel.com>
Date: Wed, 15 Jun 2005 09:12:43 -0700
Subject: [PATCH] fix build error with static-nss

This patch fixes

build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r'
build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent'
... 53 lines deleted ...
build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r'
collect2: ld returned 1 exit status
make[2]: *** [/build/gcc-3.4.3-glibc-2.3.5-hdrs-2.6.11.2/i686-unknown-linux-gnu/build-glibc/elf/ldconfig] Error 1

when building glibc with --enable-static-nss.

See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631

Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
[mol: adapted for glibc-2.14.1]
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
---
 Makeconfig   |    2 +-
 elf/Makefile |    7 +++++++
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/Makeconfig b/Makeconfig
index b34cacf..1915afa 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -537,7 +537,7 @@ endif
 
 # The static libraries.
 ifeq (yes,$(build-static))
-link-libc-static = -Wl,--start-group $(common-objpfx)libc.a $(static-gnulib) -Wl,--end-group
+link-libc-static = -Wl,--start-group $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) -Wl,--end-group
 else
 ifeq (yes,$(build-shared))
 # We can try to link the programs with lib*_pic.a...
diff --git a/elf/Makefile b/elf/Makefile
index 1c5bdee..e19e639 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -152,6 +152,13 @@ install-others	= $(inst_slibdir)/$(rtld-installed-name)
 install-bin-script = ldd
 endif
 
+ifeq (yes,$(build-static-nss))
+nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
+resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv)
+otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
+	     $(resolvobjdir)/libresolv.a
+endif
+
 others		= sprof sln
 install-bin	= sprof
 others-static   = sln