patches/glibc/2.9/310-2.3.6-fix-pr631.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Dec 31 18:47:37 2011 +0100 (2011-12-31)
changeset 2829 0c3c95f911ec
parent 1201 c9967a6e3b25
permissions -rw-r--r--
docs: credit Konrad EISELE for the initial multilib support

Konrad submitted an initial patch adding multlib support:
http://sourceware.org/ml/crossgcc/2011-11/msg00040.html

The patch was full of good ideas, but had a few issues, so
I (Yann E. MORIN) started it all from scatch, re-using part
of the original patch. This got implemented in this series:
hg log -r 446a17b5dd1e:e47d17391ae3

As I forgot to credit Konrad in these changelogs, update the
docs so that the work by Konrad gets credited. Without his
initial effort, we would probably not have had multlib support
so soon. Thank you Konrad!

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 Original patch from: gentoo/src/patchsets/glibc/2.9/1090_all_glibc-2.3.6-fix-pr631.patch
     2 
     3 -= BEGIN original header =-
     4 From dank@kegel.com
     5 Wed Jun 15 09:12:43 PDT 2005
     6 
     7 Fixes
     8 
     9 build-glibc/libc.a(nsswitch.o)(.data+0x64): undefined reference to `_nss_files_getaliasent_r'
    10 build-glibc/libc.a(nsswitch.o)(.data+0x6c): undefined reference to `_nss_files_endaliasent'
    11 ... 53 lines deleted ...
    12 build-glibc/libc.a(nsswitch.o)(.data+0x21c): undefined reference to `_nss_files_getspnam_r'
    13 collect2: ld returned 1 exit status
    14 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
    15 
    16 when building glibc with --enable-static-nss.
    17 
    18 See http://sources.redhat.com/bugzilla/show_bug.cgi?id=631
    19 
    20 -= END original header =-
    21 
    22 diff -durN glibc-2_9.orig/Makeconfig glibc-2_9/Makeconfig
    23 --- glibc-2_9.orig/Makeconfig	2009-02-02 22:00:36.000000000 +0100
    24 +++ glibc-2_9/Makeconfig	2009-02-02 22:01:04.000000000 +0100
    25 @@ -509,7 +509,7 @@
    26  
    27  # The static libraries.
    28  ifeq (yes,$(build-static))
    29 -link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a
    30 +link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(otherlibs) $(common-objpfx)libc.a
    31  else
    32  ifeq (yes,$(build-shared))
    33  # We can try to link the programs with lib*_pic.a...
    34 diff -durN glibc-2_9.orig/elf/Makefile glibc-2_9/elf/Makefile
    35 --- glibc-2_9.orig/elf/Makefile	2008-10-31 21:35:11.000000000 +0100
    36 +++ glibc-2_9/elf/Makefile	2009-02-02 22:01:04.000000000 +0100
    37 @@ -121,6 +121,13 @@
    38  install-bin-script = ldd
    39  endif
    40  
    41 +ifeq (yes,$(build-static-nss))
    42 +nssobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)nss)
    43 +resolvobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)resolv)
    44 +otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
    45 +	     $(resolvobjdir)/libresolv.a
    46 +endif
    47 +
    48  others		= sprof sln
    49  install-bin	= sprof
    50  others-static   = sln