diff -Nru glibc-2.21/debian/changelog glibc-2.21/debian/changelog --- glibc-2.21/debian/changelog 2015-03-23 15:37:59.000000000 +0000 +++ glibc-2.21/debian/changelog 2015-03-25 21:43:17.000000000 +0000 @@ -1,3 +1,12 @@ +glibc (2.21-0ubuntu4) vivid; urgency=medium + + * debian/patches/arm/local-arm-futex.diff: Lie about the minimum + kernel support for futex_atomic_cmpxchg_inatomic to restore the + previous state and make pulsesink happier on ARM (LP: #1436162) + * debian/debhelper.in/libc.preinst: Wipe ld.so.cache on upgrades. + + -- Adam Conrad Wed, 25 Mar 2015 14:31:51 -0600 + glibc (2.21-0ubuntu3) vivid; urgency=medium * debian/patches/ubuntu/local-warn-bsd-source.diff: Don't warn on diff -Nru glibc-2.21/debian/debhelper.in/libc.preinst glibc-2.21/debian/debhelper.in/libc.preinst --- glibc-2.21/debian/debhelper.in/libc.preinst 2015-03-16 16:13:23.000000000 +0000 +++ glibc-2.21/debian/debhelper.in/libc.preinst 2015-03-25 21:33:01.000000000 +0000 @@ -529,7 +529,7 @@ esac if [ -n "$preversion" ]; then - if dpkg --compare-versions "$preversion" lt 2.16; then + if dpkg --compare-versions "$preversion" lt 2.21-0ubuntu4; 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 diff -Nru glibc-2.21/debian/patches/arm/local-arm-futex.diff glibc-2.21/debian/patches/arm/local-arm-futex.diff --- glibc-2.21/debian/patches/arm/local-arm-futex.diff 1970-01-01 00:00:00.000000000 +0000 +++ glibc-2.21/debian/patches/arm/local-arm-futex.diff 2015-03-25 20:31:27.000000000 +0000 @@ -0,0 +1,22 @@ +Description: Lie about futex_atomic_cmpxchg_inatomic kernel support. + In past versions of glibc, we incorrectly assumed all ARM kernels + in all configurations supported futex_atomic_cmpxchg_inatomic. This + was clearly a lie, however it was a lie that we relied on, because + the fallback implementation appears to not play nicely with certain + applications like pulseaudio. Restore the lie for kernels > 2.6.32 + and plug our ears and scream "LA LA LA" about how wrong this is. +Author: Adam Conrad +Bug-Ubuntu: https://launchpad.net/bugs/1436162 +Last-Update: 2015-03-25 + +--- glibc-2.21.orig/sysdeps/unix/sysv/linux/arm/kernel-features.h ++++ glibc-2.21/sysdeps/unix/sysv/linux/arm/kernel-features.h +@@ -37,7 +37,7 @@ + /* The ARM kernel before 3.14.3 may or may not support + futex_atomic_cmpxchg_inatomic, depending on kernel + configuration. */ +-#if __LINUX_KERNEL_VERSION < 0x030E03 ++#if __LINUX_KERNEL_VERSION < 0x020620 + # undef __ASSUME_FUTEX_LOCK_PI + # undef __ASSUME_REQUEUE_PI + # undef __ASSUME_SET_ROBUST_LIST diff -Nru glibc-2.21/debian/patches/series glibc-2.21/debian/patches/series --- glibc-2.21/debian/patches/series 2015-03-23 15:03:22.000000000 +0000 +++ glibc-2.21/debian/patches/series 2015-03-25 21:08:16.000000000 +0000 @@ -54,6 +54,7 @@ arm/unsubmitted-ldso-multilib.diff arm/cvs-arm-sfi_breg.diff arm/cvs-memcpy-memmove-always-bx.diff +arm/local-arm-futex.diff hppa/local-inlining.diff hppa/local-stack-grows-up.diff