~ruther/guix-local

ref: 08dccdfd12a176cf8a689aa8ca5e19fb280a137c guix-local/gnu/packages/patches/glibc-no-ld-so-cache.patch -rw-r--r-- 1.9 KiB
08dccdfd — Andreas Enge gnu: xorg: Make xorg-server compilable (tests still fail). 13 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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