summary refs log tree commit diff
path: root/pkgs/development/libraries/glibc
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-03-02 21:24:55 +0100
committerVladimír Čunát <vcunat@gmail.com>2015-03-03 11:31:01 +0100
commit54fc2db1b86918f9204107d623294740c64b4c32 (patch)
tree0c191cce42980d2dd010a435e77f58f3fca12e38 /pkgs/development/libraries/glibc
parent5341196f01a0ab594c69b12f2d407cd6ff95a3ea (diff)
downloadnixlib-54fc2db1b86918f9204107d623294740c64b4c32.tar
nixlib-54fc2db1b86918f9204107d623294740c64b4c32.tar.gz
nixlib-54fc2db1b86918f9204107d623294740c64b4c32.tar.bz2
nixlib-54fc2db1b86918f9204107d623294740c64b4c32.tar.lz
nixlib-54fc2db1b86918f9204107d623294740c64b4c32.tar.xz
nixlib-54fc2db1b86918f9204107d623294740c64b4c32.tar.zst
nixlib-54fc2db1b86918f9204107d623294740c64b4c32.zip
glibc: update 2.20 -> 2.21, including security fixes
Fixes #6578.
https://sourceware.org/ml/libc-alpha/2015-02/msg00119.html

- I had to disable one warning-error type.
- One of our patches needed modification - it seemed that just the context
  changed without affecting the purpose of the patch.
Diffstat (limited to 'pkgs/development/libraries/glibc')
-rw-r--r--pkgs/development/libraries/glibc/common.nix7
-rw-r--r--pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch9
2 files changed, 9 insertions, 7 deletions
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 81abd4f19d4b..01b60361e8e1 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -13,7 +13,7 @@ cross:
 
 let
 
-  version = "2.20";
+  version = "2.21";
 
 in
 
@@ -127,7 +127,8 @@ stdenv.mkDerivation ({
   # I.e. when gcc is compiled with --with-arch=i686, then the
   # preprocessor symbol `__i686' will be defined to `1'.  This causes
   # the symbol __i686.get_pc_thunk.dx to be mangled.
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.system == "i686-linux") "-U__i686";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.system == "i686-linux") "-U__i686"
+    + " -Wno-error=strict-prototypes";
 }
 
 # Remove the `gccCross' attribute so that the *native* glibc store path
@@ -150,7 +151,7 @@ stdenv.mkDerivation ({
     }
     else fetchurl {
       url = "mirror://gnu/glibc/glibc-${version}.tar.gz";
-      sha256 = "1g6ysvk15arpi7c1f1fpx5slgfr2k3dqd5xr0yvijajp1m0xxq9p";
+      sha256 = "0f4prv4c0fcpi85wv4028wqxn075197gwxhgf0vp571fiw2pi3wd";
     };
 
   # Remove absolute paths from `configure' & co.; build out-of-tree.
diff --git a/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch
index 95f537733204..fc14553c3ee0 100644
--- a/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch
+++ b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch
@@ -15,13 +15,14 @@ diff -ru glibc-2.16.0-orig/elf/Makefile glibc-2.16.0/elf/Makefile
 +++ glibc-2.16.0/elf/Makefile	2012-09-18 12:03:30.031955196 -0400
 @@ -415,12 +415,12 @@
  
- $(objpfx)pldd: $(pldd-modules:%=$(objpfx)%.o)
+ $(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o)
  
 -SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"'
 -CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
 +PREFIX-FLAGS := -D'PREFIX="$(prefix)"'
 +CFLAGS-ldconfig.c = $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \
- 		    -D'SLIBDIR="$(slibdir)"' -DIS_IN_ldconfig=1
+ 		    -D'SLIBDIR="$(slibdir)"'
+ libof-ldconfig = ldconfig
 -CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
 -CFLAGS-cache.c = $(SYSCONF-FLAGS)
 -CFLAGS-rtld.c = $(SYSCONF-FLAGS)
@@ -29,8 +30,8 @@ diff -ru glibc-2.16.0-orig/elf/Makefile glibc-2.16.0/elf/Makefile
 +CFLAGS-cache.c = $(PREFIX-FLAGS)
 +CFLAGS-rtld.c = $(PREFIX-FLAGS)
  
- CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
- 		     -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld)
+ cpp-srcs-left := $(all-rtld-routines:=.os)
+ lib := rtld
 diff -ru glibc-2.16.0-orig/sysdeps/generic/dl-cache.h glibc-2.16.0/sysdeps/generic/dl-cache.h
 --- glibc-2.16.0-orig/sysdeps/generic/dl-cache.h	2012-06-30 15:12:34.000000000 -0400
 +++ glibc-2.16.0/sysdeps/generic/dl-cache.h	2012-09-18 11:59:27.465284809 -0400