patches/glibc/2.5.1/120-fix-pr631.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Mar 28 01:05:18 2011 +0200 (2011-03-28)
changeset 2362 0888065f8c4d
parent 744 4bf8448536d5
permissions -rw-r--r--
cc/gcc: cleanup the _or_later logic

So far, we've had a version always select appropriate _or_later option,
which in turn would select all previous _or_later options.

Because the dependencies on companion libs were cumulative, that was
working OK. But the upcoming 4.6 will no longer depend on libelf, so
we can't keep the cumulative scheme we've been using so far.

Have each release family select the corresponding dependencies, instead
of relying on selecting previous _or_later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@402
     1
From dank@kegel.com
yann@402
     2
Wed Jun 15 09:12:43 PDT 2005
yann@402
     3
yann@402
     4
Fixes
yann@402
     5
yann@402
     6
build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r'
yann@402
     7
build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent'
yann@402
     8
... 53 lines deleted ...
yann@402
     9
build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r'
yann@402
    10
collect2: ld returned 1 exit status
yann@402
    11
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
yann@402
    12
yann@402
    13
when building glibc with --enable-static-nss.
yann@402
    14
yann@402
    15
See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631
yann@402
    16
yann@402
    17
--- glibc-2.3.5/Makeconfig.old	Wed Jun 15 08:13:12 2005
yann@402
    18
+++ glibc-2.3.5/Makeconfig	Wed Jun 15 08:13:14 2005
yann@402
    19
@@ -510,7 +510,7 @@
yann@402
    20
 
yann@402
    21
 # The static libraries.
yann@402
    22
 ifeq (yes,$(build-static))
yann@402
    23
-link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a
yann@402
    24
+link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) $(common-objpfx)libc.a
yann@402
    25
 else
yann@402
    26
 ifeq (yes,$(build-shared))
yann@402
    27
 # We can try to link the programs with lib*_pic.a...
yann@402
    28
--- glibc-2.3.5/elf/Makefile.old	Wed Jun 15 07:46:49 2005
yann@402
    29
+++ glibc-2.3.5/elf/Makefile	Wed Jun 15 08:14:00 2005
yann@402
    30
@@ -120,6 +120,13 @@
yann@402
    31
 install-bin-script = ldd
yann@402
    32
 endif
yann@402
    33
 
yann@402
    34
+ifeq (yes,$(build-static-nss))
yann@402
    35
+nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
yann@402
    36
+resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv)
yann@402
    37
+otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
yann@402
    38
+	     $(resolvobjdir)/libresolv.a
yann@402
    39
+endif
yann@402
    40
+
yann@402
    41
 others		= sprof sln
yann@402
    42
 install-bin	= sprof
yann@402
    43
 others-static   = sln
yann@402
    44
yann@402
    45
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>