r4594 - in glibc-package/branches/eglibc-2.13/debian: . patches/any
Author: aurel32
Date: 2011-03-26 19:24:08 +0000 (Sat, 26 Mar 2011)
New Revision: 4594
Added:
glibc-package/branches/eglibc-2.13/debian/patches/any/local-ldconfig-multiarch.diff
Modified:
glibc-package/branches/eglibc-2.13/debian/changelog
Log:
* Add patches/any/local-ldconfig-multiarch.diff from Steve Langasek to
add multiarch support to ldconfig.
Modified: glibc-package/branches/eglibc-2.13/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.13/debian/changelog 2011-03-26 18:50:00 UTC (rev 4593)
+++ glibc-package/branches/eglibc-2.13/debian/changelog 2011-03-26 19:24:08 UTC (rev 4594)
@@ -143,6 +143,8 @@
* Add patches/alpha/submitted-PTR_MANGLE.diff to fix exceptions on alpha.
* Add patches/i386/cvs-cacheinfo.diff to fix empty LEVEL*CACHE* getconf()
entries for some CPU. Closes: #609389.
+ * Add patches/any/local-ldconfig-multiarch.diff from Steve Langasek to
+ add multiarch support to ldconfig.
[ Samuel Thibault ]
* Add patches/any/cvs-glro_dl_debug_mask.diff to fix build without
Added: glibc-package/branches/eglibc-2.13/debian/patches/any/local-ldconfig-multiarch.diff
===================================================================
--- glibc-package/branches/eglibc-2.13/debian/patches/any/local-ldconfig-multiarch.diff (rev 0)
+++ glibc-package/branches/eglibc-2.13/debian/patches/any/local-ldconfig-multiarch.diff 2011-03-26 19:24:08 UTC (rev 4594)
@@ -0,0 +1,51 @@
+Description: make ldconfig use the built-in system paths
+ Make ldconfig use the same view of built-in system paths that ld.so does,
+ instead of just using SLIBDIR and LIBDIR; this corrects a failure of
+ ldconfig to cache libraries in non-multiarch directories when building for
+ multiarch, even though they're on the system path.
+Author: Steve Langasek <steve.langasek@linaro.org>
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/736932
+
+--- a/elf/ldconfig.c
++++ b/elf/ldconfig.c
+@@ -59,6 +59,17 @@
+
+ #define PACKAGE _libc_intl_domainname
+
++/* Get the generated information about the trusted/standard directories. */
++#include "trusted-dirs.h"
++
++static const char system_dirs[] = SYSTEM_DIRS;
++static const size_t system_dirs_len[] =
++{
++ SYSTEM_DIRS_LEN
++};
++#define nsystem_dirs_len \
++ (sizeof (system_dirs_len) / sizeof (system_dirs_len[0]))
++
+ static const struct
+ {
+ const char *name;
+@@ -1353,12 +1364,19 @@
+
+ if (!opt_only_cline)
+ {
++ const char *strp = system_dirs;
++ size_t idx = 0;
++
+ parse_conf (config_file, true);
+
+ /* Always add the standard search paths. */
+- add_system_dir (SLIBDIR);
+- if (strcmp (SLIBDIR, LIBDIR))
+- add_system_dir (LIBDIR);
++ do
++ {
++ add_system_dir (strp);
++ strp += system_dirs_len[idx] + 1;
++ idx++;
++ }
++ while (idx < nsystem_dirs_len);
+ }
+
+ const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE;
Reply to: