Author: aurel32 Date: 2014-02-22 19:46:09 +0000 (Sat, 22 Feb 2014) New Revision: 5956
Added: glibc-package/trunk/debian/patches/any/local-ldconfig-ignore-ld.so.diff Modified: glibc-package/trunk/debian/changelog glibc-package/trunk/debian/patches/series Log: [ Aurelien Jarno ] * any/local-ldconfig-ignore-ld.so.diff: new patch to ignore the dynamic linker in ldconfig. Closes: #699206, #707185, #727786, #736097, #739734, #739758. Modified: glibc-package/trunk/debian/changelog =================================================================== --- glibc-package/trunk/debian/changelog 2014-02-22 16:20:50 UTC (rev 5955) +++ glibc-package/trunk/debian/changelog 2014-02-22 19:46:09 UTC (rev 5956) @@ -2,7 +2,11 @@ !!! PLEASE MOVE ALL MAJOR DEVELOPMENT TO THE 2.19 BRANCH OR UPSTREAM !!! - * + [ Aurelien Jarno ] + * any/local-ldconfig-ignore-ld.so.diff: new patch to ignore the dynamic + linker in ldconfig. Closes: #699206, #707185, #727786, #736097, + #739734, #739758. + [ Petr Salinger ] * kfreebsd/local-sysdeps.diff: update to revision 5443 (from glibc-bsd). Added: glibc-package/trunk/debian/patches/any/local-ldconfig-ignore-ld.so.diff =================================================================== --- glibc-package/trunk/debian/patches/any/local-ldconfig-ignore-ld.so.diff (rev 0) +++ glibc-package/trunk/debian/patches/any/local-ldconfig-ignore-ld.so.diff 2014-02-22 19:46:09 UTC (rev 5956) @@ -0,0 +1,55 @@ +diff --git a/elf/ldconfig.c b/elf/ldconfig.c +index 4211f4c..6425f8e 100644 +--- a/elf/ldconfig.c ++++ b/elf/ldconfig.c +@@ -450,6 +450,23 @@ chroot_stat (const char *real_path, const char *path, struct stat64 *st) + return ret; + } + ++static const char * const ld_sonames[] = ++{ ++ "ld-kfreebsd-x86-64.so.1", ++ "ld-linux-aarch64.so.1", ++ "ld-linux-aarch64_be.so.1", ++ "ld-linux-armhf.so.3", ++ "ld-linux-ia64.so.2", ++ "ld-linux-mipsn8.so.1", ++ "ld-linux-x32.so.2", ++ "ld-linux-x86-64.so.2", ++ "ld-linux.so.2", ++ "ld-linux.so.3", ++ "ld.so.1", ++ "ld64.so.1", ++ "ld64.so.2", ++}; ++ + /* Create a symbolic link from soname to libname in directory path. */ + static void + create_links (const char *real_path, const char *path, const char *libname, +@@ -460,6 +477,7 @@ create_links (const char *real_path, const char *path, const char *libname, + struct stat64 stat_lib, stat_so, lstat_so; + int do_link = 1; + int do_remove = 1; ++ int i; + /* XXX: The logics in this function should be simplified. */ + + /* Get complete path. */ +@@ -488,6 +506,18 @@ create_links (const char *real_path, const char *path, const char *libname, + error (0, 0, _("Can't stat %s\n"), full_libname); + return; + } ++ ++ /* Do not change the symlink pointer to the dynamic linker except for ++ non-existing symlinks, as it might break break multiarch systems. */ ++ for (i = 0; i < sizeof (ld_sonames) / sizeof (ld_sonames[0]); i++) ++ if (__glibc_unlikely(!strcmp(soname, ld_sonames[i]))) ++ { ++ if (opt_verbose) ++ error (0, 0, _("%s is the dynamic linker, ignoring\n"), ++ full_libname); ++ do_link = 0; ++ } ++ + if (stat_lib.st_dev == stat_so.st_dev + && stat_lib.st_ino == stat_so.st_ino) + /* Link is already correct. */ Modified: glibc-package/trunk/debian/patches/series =================================================================== --- glibc-package/trunk/debian/patches/series 2014-02-22 16:20:50 UTC (rev 5955) +++ glibc-package/trunk/debian/patches/series 2014-02-22 19:46:09 UTC (rev 5956) @@ -265,3 +265,4 @@ any/cvs-DL_CALL_DT_INIT_FINI.diff any/cvs-vfscanf-0e+0.diff any/cvs-ptrace_peeksiginfo_args.diff +any/local-ldconfig-ignore-ld.so.diff -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1whiwx-0000so...@moszumanska.debian.org