This is an automated email from the git hooks/post-receive script. aurel32 pushed a commit to branch sid in repository glibc.
commit c13901659161bee6074aeea3fdddd3f1c2a049b9 Author: Aurelien Jarno <aurel...@aurel32.net> Date: Sat Oct 15 19:49:14 2016 +0200 debian/patches/hppa/cvs-atomic-machine.diff: New patch from upstream to fix nptl/tst-stack4 on hppa. Closes: #838574. --- debian/changelog | 4 ++ debian/patches/hppa/cvs-atomic-machine.diff | 59 +++++++++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 64 insertions(+) diff --git a/debian/changelog b/debian/changelog index 23e7969..d8e1d53 100644 --- a/debian/changelog +++ b/debian/changelog @@ -43,6 +43,10 @@ glibc (2.24-4) UNRELEASED; urgency=medium * debian/rules.d/tarball.mk: Avoid filterdiff bugs with git pathspec magic. * debian/patches/git-updates.diff: Update to 2.24 master to test the above. + [ John David Anglin ] + * debian/patches/hppa/cvs-atomic-machine.diff: New patch from upstream to + fix nptl/tst-stack4 on hppa. Closes: #838574. + -- Aurelien Jarno <aure...@debian.org> Sat, 17 Sep 2016 20:03:04 +0200 glibc (2.24-3) unstable; urgency=medium diff --git a/debian/patches/hppa/cvs-atomic-machine.diff b/debian/patches/hppa/cvs-atomic-machine.diff new file mode 100644 index 0000000..648106a --- /dev/null +++ b/debian/patches/hppa/cvs-atomic-machine.diff @@ -0,0 +1,59 @@ +2016-09-22 John David Anglin <dave.ang...@bell.net> + + * sysdeps/unix/sysv/linux/hppa/atomic-machine.h: Don't include + abort-instr.h. + (EFAULT): Remove conditional define. + (ENOSYS): Likewise. + (atomic_compare_and_exchange_val_acq): Use instruction nullification + instead of conditional branch instructions. + +--- a/sysdeps/unix/sysv/linux/hppa/atomic-machine.h ++++ b/sysdeps/unix/sysv/linux/hppa/atomic-machine.h +@@ -17,13 +17,6 @@ + <http://www.gnu.org/licenses/>. */ + + #include <stdint.h> /* Required for type definitions e.g. uint8_t. */ +-#include <abort-instr.h> /* Required for ABORT_INSTRUCTIUON. */ +- +-/* We need EFAULT, ENONSYS */ +-#if !defined EFAULT && !defined ENOSYS +-#define EFAULT 14 +-#define ENOSYS 251 +-#endif + + #ifndef _ATOMIC_MACHINE_H + #define _ATOMIC_MACHINE_H 1 +@@ -62,7 +55,7 @@ typedef uintmax_t uatomic_max_t; + #define _ASM_EDEADLOCK "-45" + + /* The only basic operation needed is compare and exchange. The mem +- pointer must be word aligned. */ ++ pointer must be word aligned. We no longer loop on deadlock. */ + #define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \ + ({ \ + register long lws_errno asm("r21"); \ +@@ -74,20 +67,15 @@ typedef uintmax_t uatomic_max_t; + "0: \n\t" \ + "ble " _LWS "(%%sr2, %%r0) \n\t" \ + "ldi " _LWS_CAS ", %%r20 \n\t" \ +- "ldi " _ASM_EAGAIN ", %%r20 \n\t" \ +- "cmpb,=,n %%r20, %%r21, 0b \n\t" \ +- "nop \n\t" \ +- "ldi " _ASM_EDEADLOCK ", %%r20 \n\t" \ +- "cmpb,=,n %%r20, %%r21, 0b \n\t" \ +- "nop \n\t" \ ++ "cmpiclr,<> " _ASM_EAGAIN ", %%r21, %%r0\n\t" \ ++ "b,n 0b \n\t" \ ++ "cmpclr,= %%r0, %%r21, %%r0 \n\t" \ ++ "iitlbp %%r0,(%%sr0, %%r0) \n\t" \ + : "=r" (lws_ret), "=r" (lws_errno) \ + : "r" (lws_mem), "r" (lws_old), "r" (lws_new) \ + : _LWS_CLOBBER \ + ); \ + \ +- if (lws_errno == -EFAULT || lws_errno == -ENOSYS) \ +- ABORT_INSTRUCTION; \ +- \ + (__typeof (oldval)) lws_ret; \ + }) + diff --git a/debian/patches/series b/debian/patches/series index 1f04c9d..5389cb9 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -57,6 +57,7 @@ hppa/submitted-dladdr.diff hppa/local-stack-grows-up.diff hppa/submitted-setcontext.diff hppa/submitted-sysdeps-cancel.diff +hppa/cvs-atomic-machine.diff hurd-i386/local-enable-ldconfig.diff hurd-i386/tg-context_functions.diff -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git