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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
Source: http://sourceware.org/ml/libc-alpha/2008-03/msg00105.html
Status: Not applied upstream
After reconfiguring, the value of slibdir changes from ${exec_prefix}/lib32 or
${exec_prefix}/lib64 to ${exec_prefix}/lib.
This is because the code that sets libdir is only executed if libc_cv_slibdir
is unset (this is to provide an override mechanism for subtargets). If the
value of libc_cv_slibdir is read from the config cache the value of libdir is
never adjusted. Or:
$ rm config.cache
$ ~/src/glibc/configure --host=mips64-unknown-linux-gnu --build=i686-linux --prefix=/usr --cache-file=config.cache &>/dev/null
$ grep libdir config.make
libdir = ${exec_prefix}/lib32
slibdir = /lib32
$ ~/src/glibc/configure --host=mips64-unknown-linux-gnu --build=i686-linux --prefix=/usr --cache-file=config.cache &>/dev/null
$ grep libdir config.make
libdir = ${exec_prefix}/lib
slibdir = /lib32
With the current logic, either both libdir and slibdir should be cached or
neither. This patch renames slibdir so that it is no longer cached.
The patch has been in our tree for a few weeks now and produced no regressions
with glibc testing (make check).
Please apply if OK.
Adam
* config.make.in (libc_cv_slibdir): Rename to slibdir.
* configure.in: Rename libc_cv_slibdir to slibdir.
* sysdeps/unix/sysv/linux/configure.in: Likewise.
* ports/sysdeps/unix/sysv/linux/mips/configure.in: Likewise
* configure: Regenerate.
* sysdeps/unix/sysv/linux/configure: Likewise.
* ports/sysdeps/unix/sysv/linux/mips/configure: Likewise.
Index: libc/config.make.in
===================================================================
--- libc.orig/config.make.in 2010-08-25 00:26:33.000000000 -0700
+++ libc/config.make.in 2010-09-25 12:31:21.460933356 -0700
@@ -10,7 +10,7 @@
exec_prefix = @exec_prefix@
datadir = @datadir@
libdir = @libdir@
-slibdir = @libc_cv_slibdir@
+slibdir = @slibdir@
localedir = @libc_cv_localedir@
sysconfdir = @libc_cv_sysconfdir@
libexecdir = @libexecdir@
Index: libc/configure.in
===================================================================
--- libc.orig/configure.in 2010-08-25 00:26:33.000000000 -0700
+++ libc/configure.in 2010-09-25 12:31:21.484430729 -0700
@@ -2337,7 +2337,7 @@
fi
AC_SUBST(old_glibc_headers)
-AC_SUBST(libc_cv_slibdir)
+AC_SUBST(slibdir)
AC_SUBST(libc_cv_localedir)
AC_SUBST(libc_cv_sysconfdir)
AC_SUBST(libc_cv_rootsbindir)
Index: libc/sysdeps/unix/sysv/linux/configure.in
===================================================================
--- libc.orig/sysdeps/unix/sysv/linux/configure.in 2010-08-25 00:25:11.000000000 -0700
+++ libc/sysdeps/unix/sysv/linux/configure.in 2010-09-25 12:31:21.500430612 -0700
@@ -147,12 +147,12 @@
case "$prefix" in
/usr | /usr/)
# 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib.
- # Allow earlier configure scripts to handle libc_cv_slibdir, libdir,
+ # Allow earlier configure scripts to handle slibdir, libdir,
# and libc_cv_localedir.
- test -n "$libc_cv_slibdir" || \
+ test -n "$slibdir" || \
case $machine in
sparc/sparc64 | x86_64 | powerpc/powerpc64 | s390/s390-64)
- libc_cv_slibdir="/lib64"
+ slibdir="/lib64"
if test "$libdir" = '${exec_prefix}/lib'; then
libdir='${exec_prefix}/lib64';
# Locale data can be shared between 32bit and 64bit libraries
@@ -160,7 +160,7 @@
fi
;;
*)
- libc_cv_slibdir="/lib"
+ slibdir="/lib"
;;
esac
# Allow the user to override the path with --sysconfdir
Index: libc/ports/sysdeps/unix/sysv/linux/mips/configure.in
===================================================================
--- libc.orig/ports/sysdeps/unix/sysv/linux/mips/configure.in 2010-08-25 00:24:01.000000000 -0700
+++ libc/ports/sysdeps/unix/sysv/linux/mips/configure.in 2010-09-25 12:31:21.500430612 -0700
@@ -80,12 +80,12 @@
case "$prefix" in
/usr | /usr/)
# 64-bit libraries on bi-arch platforms go in /lib64 instead of /lib.
- # Allow earlier configure scripts to handle libc_cv_slibdir, libdir,
+ # Allow earlier configure scripts to handle slibdir, libdir,
# and libc_cv_localedir.
- test -n "$libc_cv_slibdir" || \
+ test -n "$slibdir" || \
case $machine in
mips/mips64/n64/* )
- libc_cv_slibdir="/lib64"
+ slibdir="/lib64"
if test "$libdir" = '${exec_prefix}/lib'; then
libdir='${exec_prefix}/lib64';
# Locale data can be shared between 32bit and 64bit libraries
@@ -93,7 +93,7 @@
fi
;;
mips/mips64/n32/* )
- libc_cv_slibdir="/lib32"
+ slibdir="/lib32"
if test "$libdir" = '${exec_prefix}/lib'; then
libdir='${exec_prefix}/lib32';
# Locale data can be shared between 32bit and 64bit libraries
@@ -101,7 +101,7 @@
fi
;;
*)
- libc_cv_slibdir="/lib"
+ slibdir="/lib"
;;
esac
esac
|