summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/glibc-no-ld-so-cache.patch
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-01-18 01:06:24 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-18 01:07:31 +0100
commit1ffa7090b99dfd2f54fa883929c5e78d7852657a (patch)
tree1c8bd191e31212e172b3e9158408cccd571a5020 /gnu/packages/patches/glibc-no-ld-so-cache.patch
parent08ba7ff318720d926215de83daed0da628908ca3 (diff)
downloadguix-patches-1ffa7090b99dfd2f54fa883929c5e78d7852657a.tar
guix-patches-1ffa7090b99dfd2f54fa883929c5e78d7852657a.tar.gz
distro: Change the module name space to (gnu ...).
* distro: Rename to... * gnu: ... this. Update module names accordingly. * Makefile.am: Adjust accordingly. * po/POTFILES.in: Likewise. * distro.scm: Search for files under /gnu/packages instead of /distro/packages. * gnu/packages/base.scm (ld-wrapper-boot3): Likewise.
Diffstat (limited to 'gnu/packages/patches/glibc-no-ld-so-cache.patch')
-rw-r--r--gnu/packages/patches/glibc-no-ld-so-cache.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/gnu/packages/patches/glibc-no-ld-so-cache.patch b/gnu/packages/patches/glibc-no-ld-so-cache.patch
new file mode 100644
index 0000000000..75fff50b47
--- /dev/null
+++ b/gnu/packages/patches/glibc-no-ld-so-cache.patch
@@ -0,0 +1,53 @@
+Disable attempts to use the system-wide /etc/ld.so.cache. This is
+required on LFS distros to avoid loading the distro's libc.so instead
+of ours.
+
+Patch from Nixpkgs. Idea by Eelco Dolstra, initial patch by Jack
+Cummings, minor fixups by Shea Levy.
+
+diff -Naur glibc-2.13-orig/elf/ldconfig.c glibc-2.13/elf/ldconfig.c
+--- glibc-2.13-orig/elf/ldconfig.c 2011-01-17 23:34:07.000000000 -0500
++++ glibc-2.13/elf/ldconfig.c 2012-04-10 23:28:45.957492340 -0400
+@@ -51,7 +51,7 @@
+ #endif
+
+ #ifndef LD_SO_CONF
+-# define LD_SO_CONF SYSCONFDIR "/ld.so.conf"
++# define LD_SO_CONF PREFIX "/etc/ld.so.conf"
+ #endif
+
+ /* Get libc version number. */
+
+--- glibc-2.16.0/elf/Makefile 2012-06-30 21:12:34.000000000 +0200
++++ glibc-2.16.0/elf/Makefile 2012-11-12 23:52:21.000000000 +0100
+@@ -415,12 +415,12 @@ $(objpfx)ldconfig: $(ldconfig-modules:%=
+
+ $(objpfx)pldd: $(pldd-modules:%=$(objpfx)%.o)
+
+-SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"'
+-CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
++PREFIX-FLAGS := -D'PREFIX="$(sysconfdir)"'
++CFLAGS-ldconfig.c = $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \
+ -D'SLIBDIR="$(slibdir)"' -DIS_IN_ldconfig=1
+-CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
+-CFLAGS-cache.c = $(SYSCONF-FLAGS)
+-CFLAGS-rtld.c = $(SYSCONF-FLAGS)
++CFLAGS-dl-cache.c = $(PREFIX-FLAGS)
++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)
+
+diff -Naur glibc-2.13-orig/sysdeps/generic/dl-cache.h glibc-2.13/sysdeps/generic/dl-cache.h
+--- glibc-2.13-orig/sysdeps/generic/dl-cache.h 2011-01-17 23:34:07.000000000 -0500
++++ glibc-2.13/sysdeps/generic/dl-cache.h 2012-04-10 23:28:20.077488815 -0400
+@@ -29,7 +29,7 @@
+ #endif
+
+ #ifndef LD_SO_CACHE
+-# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache"
++# define LD_SO_CACHE PREFIX "/etc/ld.so.cache"
+ #endif
+
+ #ifndef add_system_dir