patches/glibc/2.6/120-fix-pr631.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Feb 13 21:47:25 2012 +0100 (2012-02-13)
changeset 2883 cea814c9932a
parent 744 4bf8448536d5
permissions -rw-r--r--
libc/glibc: do not consume parameters when parsing them

Currently, there are two constructs used to parse arguments in
glibc backends, one that consumes args as they are parsed, and
one that does not.

Always use the construct that does not eat args as they are parsed.

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