Author: adconrad Date: 2012-11-19 22:00:23 +0000 (Mon, 19 Nov 2012) New Revision: 5390
Added: glibc-package/trunk/debian/patches/arm/cvs-ldconfig-cache-abi.diff Modified: glibc-package/trunk/debian/changelog glibc-package/trunk/debian/debhelper.in/libc.preinst glibc-package/trunk/debian/patches/arm/unsubmitted-ldconfig-cache-abi.diff glibc-package/trunk/debian/patches/series Log: * debian/patches/arm/cvs-ldconfig-cache-abi.diff: Backport upstream patch to re-enable ldconfig cache tagging for armhf binaries again. * debian/patches/arm/unsubmitted-ldconfig-cache-abi.diff: Re-enable and adjust to account for changes in cvs-ldconfig-cache-abi.diff. * debian/debhelper.in/libc.preinst: Remove old ld.so.cache on upgrade. Modified: glibc-package/trunk/debian/changelog =================================================================== --- glibc-package/trunk/debian/changelog 2012-11-19 07:56:17 UTC (rev 5389) +++ glibc-package/trunk/debian/changelog 2012-11-19 22:00:23 UTC (rev 5390) @@ -1,3 +1,13 @@ +eglibc (2.13-38) UNRELEASED; urgency=low + + * debian/patches/arm/cvs-ldconfig-cache-abi.diff: Backport upstream + patch to re-enable ldconfig cache tagging for armhf binaries again. + * debian/patches/arm/unsubmitted-ldconfig-cache-abi.diff: Re-enable + and adjust to account for changes in cvs-ldconfig-cache-abi.diff. + * debian/debhelper.in/libc.preinst: Remove old ld.so.cache on upgrade. + + -- Adam Conrad <adcon...@0c3.net> Mon, 19 Nov 2012 14:23:26 -0700 + eglibc (2.13-37) unstable; urgency=low [ Aurelien Jarno ] Modified: glibc-package/trunk/debian/debhelper.in/libc.preinst =================================================================== --- glibc-package/trunk/debian/debhelper.in/libc.preinst 2012-11-19 07:56:17 UTC (rev 5389) +++ glibc-package/trunk/debian/debhelper.in/libc.preinst 2012-11-19 22:00:23 UTC (rev 5390) @@ -438,12 +438,13 @@ esac if [ -n "$preversion" ]; then - if dpkg --compare-versions "$preversion" lt 2.13-5; then + if dpkg --compare-versions "$preversion" lt 2.13-38; then # upgrading from a pre-multiarch libc to a multiarch libc; we have # to blow away /etc/ld.so.cache, otherwise the old unpacked libc # is still first in the cache and segfaults when combined with # our newly-unpacked ld.so. Do this last to avoid slowing down the - # rest of the upgrade. + # rest of the upgrade. Version number bumped to 2.13-38 to also + # cover cache format upgrades for ARM. rm -f /etc/ld.so.cache fi fi Added: glibc-package/trunk/debian/patches/arm/cvs-ldconfig-cache-abi.diff =================================================================== --- glibc-package/trunk/debian/patches/arm/cvs-ldconfig-cache-abi.diff (rev 0) +++ glibc-package/trunk/debian/patches/arm/cvs-ldconfig-cache-abi.diff 2012-11-19 22:00:23 UTC (rev 5390) @@ -0,0 +1,40 @@ +commit 6665d4a25da6dc1788010466f6f52e1df94a048b +Author: Steve McIntyre <steve.mcint...@linaro.org> +Date: Mon Nov 19 01:12:53 2012 -0500 + + Add ldconfig cache tag handling for ARM hard-float ABI + + * sysdeps/generic/ldconfig.h (FLAG_ARM_LIBHF): New macro. + * elf/cache.c (print_entry): Print ",hard-float" for + FLAG_ARM_LIBHF. + + Signed-off-by: Steve McIntyre <steve.mcint...@linaro.org> + Reviewed-by: Carlos O'Donell <car...@systemhalted.org> + +diff --git a/elf/cache.c b/elf/cache.c +index db8b9fa..3336bab 100644 +--- a/elf/cache.c ++++ b/elf/cache.c +@@ -94,6 +94,10 @@ print_entry (const char *lib, int flag, unsigned int osversion, + break; + case FLAG_MIPS64_LIBN64: + fputs (",64bit", stdout); ++ break; ++ case FLAG_ARM_LIBHF: ++ fputs (",hard-float", stdout); ++ break; + case 0: + break; + default: +diff --git a/sysdeps/generic/ldconfig.h b/sysdeps/generic/ldconfig.h +index ef3f4b9..a805284 100644 +--- a/sysdeps/generic/ldconfig.h ++++ b/sysdeps/generic/ldconfig.h +@@ -34,6 +34,7 @@ + #define FLAG_POWERPC_LIB64 0x0500 + #define FLAG_MIPS64_LIBN32 0x0600 + #define FLAG_MIPS64_LIBN64 0x0700 ++#define FLAG_ARM_LIBHF 0x0900 + + /* Name of auxiliary cache. */ + #define _PATH_LDCONFIG_AUX_CACHE "/var/cache/ldconfig/aux-cache" Modified: glibc-package/trunk/debian/patches/arm/unsubmitted-ldconfig-cache-abi.diff =================================================================== --- glibc-package/trunk/debian/patches/arm/unsubmitted-ldconfig-cache-abi.diff 2012-11-19 07:56:17 UTC (rev 5389) +++ glibc-package/trunk/debian/patches/arm/unsubmitted-ldconfig-cache-abi.diff 2012-11-19 22:00:23 UTC (rev 5390) @@ -1,32 +1,8 @@ --- - elf/cache.c | 2 ports/sysdeps/unix/sysv/linux/arm/dl-cache.h | 34 ++++ ports/sysdeps/unix/sysv/linux/arm/readelflib.c | 186 +++++++++++++++++++++++++ - sysdeps/generic/ldconfig.h | 1 4 files changed, 223 insertions(+) ---- a/elf/cache.c -+++ b/elf/cache.c -@@ -91,6 +91,9 @@ - break; - case FLAG_MIPS64_LIBN64: - fputs (",64bit", stdout); -+ break; -+ case FLAG_ARM_HFABI: -+ fputs (",hard-float", stdout); - case 0: - break; - default: ---- a/sysdeps/generic/ldconfig.h -+++ b/sysdeps/generic/ldconfig.h -@@ -34,6 +34,7 @@ - #define FLAG_POWERPC_LIB64 0x0500 - #define FLAG_MIPS64_LIBN32 0x0600 - #define FLAG_MIPS64_LIBN64 0x0700 -+#define FLAG_ARM_HFABI 0x0800 - - /* Name of auxiliary cache. */ - #define _PATH_LDCONFIG_AUX_CACHE "/var/cache/ldconfig/aux-cache" --- /dev/null +++ b/ports/sysdeps/unix/sysv/linux/arm/dl-cache.h @@ -0,0 +1,34 @@ @@ -53,7 +29,7 @@ +#include <ldconfig.h> + +/* Redefine the cache ID for the new hf ABI; the sf ABI inverts the check. */ -+#define _DL_CACHE_ARMHF_ID (FLAG_ARM_HFABI | FLAG_ELF_LIBC6) ++#define _DL_CACHE_ARMHF_ID (FLAG_ARM_LIBHF | FLAG_ELF_LIBC6) + +#ifdef __ARM_PCS_VFP +#define _dl_cache_check_flags(flags) \ @@ -131,7 +107,7 @@ + + shdrs = file_contents + ehdr->e_shoff; + for (i = 0; i < ehdr->e_shnum; i++) -+ { ++ { + if (SHT_ARM_ATTRIBUTES == shdrs[i].sh_type) + { + /* We've found a likely section. Load the contents and @@ -147,14 +123,14 @@ + unsigned long len = shdrs[i].sh_size - 1; + unsigned long namelen; + p++; -+ ++ + while (len > 0) + { + unsigned long section_len = p[0] | p[1] << 8 | p[2] << 16 | p[3] << 24; + if (section_len > len) + section_len = len; + -+ p += 4; ++ p += 4; + len -= section_len; + section_len -= 4; + @@ -166,7 +142,7 @@ + namelen = strlen((char *)p) + 1; + p += namelen; + section_len -= namelen; -+ ++ + /* We're in a valid section. Walk through this + * section looking for the tag we care about + * (ABI_VFP_args) */ @@ -182,7 +158,7 @@ + if (size > section_len) + size = section_len; + p += 4; -+ ++ + section_len -= size; + end += size; + if (ATTR_TAG_FILE != tag) @@ -210,8 +186,8 @@ + } + } + } -+ } -+ } ++ } ++ } + } + return 0; +} @@ -240,11 +216,11 @@ + } + ret = process_elf32_file (file_name, lib, flag, osversion, soname, + file_contents, file_length); -+ ++ + if (!ret) + /* Do we have a hard-float ABI library? */ + if (is_library_hf(file_name, file_contents, file_length)) -+ *flag = FLAG_ARM_HFABI|FLAG_ELF_LIBC6; ++ *flag = FLAG_ARM_LIBHF|FLAG_ELF_LIBC6; + return ret; +} + Modified: glibc-package/trunk/debian/patches/series =================================================================== --- glibc-package/trunk/debian/patches/series 2012-11-19 07:56:17 UTC (rev 5389) +++ glibc-package/trunk/debian/patches/series 2012-11-19 22:00:23 UTC (rev 5390) @@ -92,13 +92,14 @@ arm/local-sigaction.diff arm/submitted-armhf-triplet.diff arm/cvs-clone-cantunwind.diff -#arm/unsubmitted-ldconfig-cache-abi.diff +arm/unsubmitted-ldconfig-cache-abi.diff arm/unsubmitted-ldso-abi-check.diff arm/cvs-syscall-mcount.diff arm/cvs-ucontext.diff arm/unsubmitted-armhf-linker.diff arm/local-soname-hack.diff arm/cvs-make-get-set-swap-context.diff +arm/cvs-ldconfig-cache-abi.diff hppa/local-inlining.diff hppa/local-linuxthreads.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/e1tazoc-0001ap...@vasks.debian.org