Your message dated Sun, 16 Oct 2016 11:23:10 +0000
with message-id <>
and subject line Bug#838574: fixed in glibc 2.24-4
has caused the Debian Bug report #838574,
regarding glibc: FTBFS on hppa - nptl/tst-stack4 fails
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact

Debian Bug Tracking System
Contact with problems
--- Begin Message ---
Source: glibc
Version: 2.24-3
Severity: normal
Tags: patch

Dear Maintainer,

In the previous change which fixed various cancellation tests on hppa, I
removed nptl/tst-stack4 from the expected fail list.  Probably, it should
be added back to the xfail list.  However, with the attached change, the
test does not fail on my test system.  It optimizes the atomic compare
and exchange code on hppa to avoid conditional branches.

The patch has been submitted upstream:

Dave Anglin

-- System Information:
Debian Release: stretch/sid
  APT prefers buildd-unstable
  APT policy: (500, 'buildd-unstable'), (500, 'unstable')
Architecture: hppa (parisc64)

Kernel: Linux 4.7.4+ (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=UTF-8) (ignored: LC_ALL set to en_US.utf8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
2016-09-22  John David Anglin  

	* sysdeps/unix/sysv/linux/hppa/atomic-machine.h: Don't include
	(EFAULT): Remove conditional define.
	(ENOSYS): Likewise.
	(atomic_compare_and_exchange_val_acq): Use instruction nullification
	instead of conditional branch instructions.

Index: glibc-2.23/sysdeps/unix/sysv/linux/hppa/atomic-machine.h
--- glibc-2.23.orig/sysdeps/unix/sysv/linux/hppa/atomic-machine.h
+++ glibc-2.23/sysdeps/unix/sysv/linux/hppa/atomic-machine.h
@@ -17,13 +17,6 @@
    <>.  */
 #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
 #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)			\
-									\
      (__typeof (oldval)) lws_ret;					\

--- End Message ---
--- Begin Message ---
Source: glibc
Source-Version: 2.24-4

We believe that the bug you reported is fixed in the latest version of
glibc, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
Aurelien Jarno <> (supplier of updated glibc package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing

Hash: SHA512

Format: 1.8
Date: Sun, 16 Oct 2016 13:06:08 +0200
Source: glibc
Binary: libc-bin libc-dev-bin libc-l10n glibc-doc glibc-source locales 
locales-all nscd multiarch-support libc6 libc6-dev libc6-dbg libc6-pic 
libc6-udeb libc6.1 libc6.1-dev libc6.1-dbg libc6.1-pic libc6.1-udeb libc0.3 
libc0.3-dev libc0.3-dbg libc0.3-pic libc0.3-udeb libc0.1 libc0.1-dev 
libc0.1-dbg libc0.1-pic libc0.1-udeb libc6-i386 libc6-dev-i386 libc6-sparc 
libc6-dev-sparc libc6-sparc64 libc6-dev-sparc64 libc6-s390 libc6-dev-s390 
libc6-amd64 libc6-dev-amd64 libc6-powerpc libc6-dev-powerpc libc6-ppc64 
libc6-dev-ppc64 libc6-mips32 libc6-dev-mips32 libc6-mipsn32 libc6-dev-mipsn32 
libc6-mips64 libc6-dev-mips64 libc0.1-i386 libc0.1-dev-i386 libc6-x32 
libc6-dev-x32 libc6-xen libc0.3-xen libc6.1-alphaev67 libc0.1-i686 libc0.3-i686 
Architecture: source
Version: 2.24-4
Distribution: unstable
Urgency: medium
Maintainer: GNU Libc Maintainers <>
Changed-By: Aurelien Jarno <>
 glibc-doc  - GNU C Library: Documentation
 glibc-source - GNU C Library: sources
 libc-bin   - GNU C Library: Binaries
 libc-dev-bin - GNU C Library: Development binaries
 libc-l10n  - GNU C Library: localization files
 libc0.1    - GNU C Library: Shared libraries
 libc0.1-dbg - GNU C Library: detached debugging symbols
 libc0.1-dev - GNU C Library: Development Libraries and Header Files
 libc0.1-dev-i386 - GNU C Library: 32bit development libraries for AMD64
 libc0.1-i386 - GNU C Library: 32bit shared libraries for AMD64
 libc0.1-i686 - transitional dummy package
 libc0.1-pic - GNU C Library: PIC archive library
 libc0.1-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc0.3    - GNU C Library: Shared libraries
 libc0.3-dbg - GNU C Library: detached debugging symbols
 libc0.3-dev - GNU C Library: Development Libraries and Header Files
 libc0.3-i686 - transitional dummy package
 libc0.3-pic - GNU C Library: PIC archive library
 libc0.3-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc0.3-xen - GNU C Library: Shared libraries [Xen version]
 libc6      - GNU C Library: Shared libraries
 libc6-amd64 - GNU C Library: 64bit Shared libraries for AMD64
 libc6-dbg  - GNU C Library: detached debugging symbols
 libc6-dev  - GNU C Library: Development Libraries and Header Files
 libc6-dev-amd64 - GNU C Library: 64bit Development Libraries for AMD64
 libc6-dev-i386 - GNU C Library: 32-bit development libraries for AMD64
 libc6-dev-mips32 - GNU C Library: o32 Development Libraries for MIPS
 libc6-dev-mips64 - GNU C Library: 64bit Development Libraries for MIPS64
 libc6-dev-mipsn32 - GNU C Library: n32 Development Libraries for MIPS64
 libc6-dev-powerpc - GNU C Library: 32bit powerpc development libraries for 
 libc6-dev-ppc64 - GNU C Library: 64bit Development Libraries for PowerPC64
 libc6-dev-s390 - GNU C Library: 32bit Development Libraries for IBM zSeries
 libc6-dev-sparc - GNU C Library: 32bit Development Libraries for SPARC
 libc6-dev-sparc64 - GNU C Library: 64bit Development Libraries for UltraSPARC
 libc6-dev-x32 - GNU C Library: X32 ABI Development Libraries for AMD64
 libc6-i386 - GNU C Library: 32-bit shared libraries for AMD64
 libc6-i686 - transitional dummy package
 libc6-mips32 - GNU C Library: o32 Shared libraries for MIPS
 libc6-mips64 - GNU C Library: 64bit Shared libraries for MIPS64
 libc6-mipsn32 - GNU C Library: n32 Shared libraries for MIPS64
 libc6-pic  - GNU C Library: PIC archive library
 libc6-powerpc - GNU C Library: 32bit powerpc shared libraries for ppc64
 libc6-ppc64 - GNU C Library: 64bit Shared libraries for PowerPC64
 libc6-s390 - GNU C Library: 32bit Shared libraries for IBM zSeries
 libc6-sparc - GNU C Library: 32bit Shared libraries for SPARC
 libc6-sparc64 - GNU C Library: 64bit Shared libraries for UltraSPARC
 libc6-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc6-x32  - GNU C Library: X32 ABI Shared libraries for AMD64
 libc6-xen  - GNU C Library: Shared libraries [Xen version]
 libc6.1    - GNU C Library: Shared libraries
 libc6.1-alphaev67 - GNU C Library: Shared libraries (EV67 optimized)
 libc6.1-dbg - GNU C Library: detached debugging symbols
 libc6.1-dev - GNU C Library: Development Libraries and Header Files
 libc6.1-pic - GNU C Library: PIC archive library
 libc6.1-udeb - GNU C Library: Shared libraries - udeb (udeb)
 locales    - GNU C Library: National Language (locale) data [support]
 locales-all - GNU C Library: Precompiled locale data
 multiarch-support - Transitional package to ensure multiarch compatibility
 nscd       - GNU C Library: Name Service Cache Daemon
Closes: 767707 793649 838574 839742 840199 840901
 glibc (2.24-4) unstable; urgency=medium
   [ Samuel Thibault ]
   * hurd-i386/tg-hurdsig-SA_SIGINFO.diff: Fix preemptors and thus
   * hurd-i386/tg-hurdsig-fixes.diff: Fix uninitialized value.
   * hurd-i386/submitted-exec_filename.diff: Add missing includes, fix const
   * hurd-i386/cvs-mallocfork.diff: New patch to fix concurrency between
     hurd_malloc and fork, triggered by malloc/tst-malloc-fork-deadlock.
   * hurd-i386/cvs-libpthread.diff: Update to latest upstream version.
     Closes: #839742.
   * hurd-i386/libpthread_build.diff: Refresh.
   * hurd-i386/libpthread_version.diff: Refresh.
   * hurd-i386/unsubmitted-libc_alloca_cutoff.diff: Refresh.
   * hurd-i386/cvs-hidden.diff: Drop, merged upstream.
   * hurd-i386/cvs-libpthread-2.23.diff: Drop, merged upstream.
   * hurd-i386/cvs-libpthread-api.diff: Drop, merged upstream.
   * hurd-i386/cvs-libpthread_build.diff: Drop, merged upstream.
   * hurd-i386/cvs-libpthread_clean2.diff: Drop, merged upstream.
   * hurd-i386/cvs-pt-kill.diff: Drop, merged upstream.
   * hurd-i386/libpthread-versions.diff: Drop, merged upstream.
   * hurd-i386/libpthread_clean.diff: Drop, merged upstream.
   * hurd-i386/libpthread_sigmask.diff: Drop, merged upstream.
   * hurd-i386/libpthread_spin-lock.diff: Drop, merged upstream.
   * hurd-i386/unsubmitted-libpthread-semaphore.h.diff: Drop, merged upstream.
   * hurd-i386/tg-pthread_deps.diff: New patch, fixes references to libc
   * Clear fixed hurd-i386 test.
   * control: Drop hurd dependency from libc-bin: the reason for the dep has
   * hurd-i386/unsubmitted-libc_alloca_cutoff.diff: Rename to
   * hurd-i386/unsubmitted-timer_routines.diff: Rename to
   * hurd-i386/tg-glibc-2.24-restore-malloc-hook.diff: Restore malloc_hook for
     now for mach-defpager.
   * hurd-i386/cvs-setcancelstate.diff: New patch to work around a bug with
     newer libpthread snapshot.
   [ Adam Conrad ]
   * debian/rules.d/ Apply --no-renames to make the diff readable.
   * debian/rules.d/ 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 ]
   * debian/sysdeps/ Install both kernel and library headers symlinks
     using a singlee for loop.
   * debian/sysdeps/ Also install a /usr/include/<triplet>/arch
     symlink if it exists, needed for the tilegx architecture.
   * debian/ add a dependency on lsb-base (>= 3.0-6) for ncsd.
   * debian/ also invalidate services and netgroup
     during reload.  Closes: #793649.
   * debian/, debian/rules.d/ install nscd systemd
     files. Closes: #767707.
   * debian/patches/localedata/locale-C.diff: switch back transliterations to
     combining.  Closes: #840199.
   * debian/ improve locales-all detection.
     Closes: #840901.
   * debian/patches/i386/local-cpuid-level2.diff: replace by upstream patch
   * debian/ slightly relax the build-dependency on g++-6 to
     make lintian happy.
 e3163a408dbf746597a3a50be1ba0359da80fb3a 8297 glibc_2.24-4.dsc
 4df1f3676d0760f300990478e23b117d907ef670 916172 glibc_2.24-4.debian.tar.xz
 66f5cb3a7f27fe61354844df079ba88a7891acc6739fc2b5ff94bf17019cf9db 8297 
 b13d1f1fb5a4c1e169810dcad1fe6565f5ceba58bc28988de217c911a6354df1 916172 
 aa677e476a0fd1d25a4550cbf1b3cae9 8297 libs required glibc_2.24-4.dsc
 02918f16d51b136480d748357f5b95fd 916172 libs required 



--- End Message ---

Reply via email to