Your message dated Sun, 16 Oct 2016 11:23:10 +0000
with message-id <e1bvjx4-0000bs...@franck.debian.org>
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 ow...@bugs.debian.org
immediately.)


-- 
838574: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=838574
Debian Bug Tracking System
Contact ow...@bugs.debian.org 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:
https://sourceware.org/ml/libc-alpha/2016-09/msg00456.html

Regards,
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
	abort-instr.h.
	(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 @@
    <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;					\
    })
 

--- 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
attached.

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

Debian distribution maintenance software
pp.
Aurelien Jarno <aure...@debian.org> (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 ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
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 
libc6-i686
Architecture: source
Version: 2.24-4
Distribution: unstable
Urgency: medium
Maintainer: GNU Libc Maintainers <debian-gl...@lists.debian.org>
Changed-By: Aurelien Jarno <aure...@debian.org>
Description:
 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 
ppc64
 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
Changes:
 glibc (2.24-4) unstable; urgency=medium
 .
   [ Samuel Thibault ]
   * hurd-i386/tg-hurdsig-SA_SIGINFO.diff: Fix preemptors and thus
     hurd_safe_*.
   * hurd-i386/tg-hurdsig-fixes.diff: Fix uninitialized value.
   * hurd-i386/submitted-exec_filename.diff: Add missing includes, fix const
     warning.
   * 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
     symbols.
   * testsuite-xfail-debian.mk: Clear fixed hurd-i386 test.
   * control: Drop hurd dependency from libc-bin: the reason for the dep has
     disappeared.
   * hurd-i386/unsubmitted-libc_alloca_cutoff.diff: Rename to
     hurd-i386/tg-allocalim.diff.
   * hurd-i386/unsubmitted-timer_routines.diff: Rename to
     hurd-i386/tg-timer_routines.diff.
   * 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/tarball.mk: Apply --no-renames to make the diff readable.
   * 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 ]
   * debian/sysdeps/linux.mk: Install both kernel and library headers symlinks
     using a singlee for loop.
   * debian/sysdeps/linux.mk: Also install a /usr/include/<triplet>/arch
     symlink if it exists, needed for the tilegx architecture.
   * debian/control.in/main: add a dependency on lsb-base (>= 3.0-6) for ncsd.
   * debian/debhelper.in/nscd.init: also invalidate services and netgroup
     during reload.  Closes: #793649.
   * debian/control.in/main, debian/rules.d/debhelper.mk: install nscd systemd
     files. Closes: #767707.
   * debian/patches/localedata/locale-C.diff: switch back transliterations to
     combining.  Closes: #840199.
   * debian/debhelper.in/locales.postinst: improve locales-all detection.
     Closes: #840901.
   * debian/patches/i386/local-cpuid-level2.diff: replace by upstream patch
     cvs-cpuid-level2.diff.
   * debian/control.in/main: slightly relax the build-dependency on g++-6 to
     make lintian happy.
Checksums-Sha1:
 e3163a408dbf746597a3a50be1ba0359da80fb3a 8297 glibc_2.24-4.dsc
 4df1f3676d0760f300990478e23b117d907ef670 916172 glibc_2.24-4.debian.tar.xz
Checksums-Sha256:
 66f5cb3a7f27fe61354844df079ba88a7891acc6739fc2b5ff94bf17019cf9db 8297 
glibc_2.24-4.dsc
 b13d1f1fb5a4c1e169810dcad1fe6565f5ceba58bc28988de217c911a6354df1 916172 
glibc_2.24-4.debian.tar.xz
Files:
 aa677e476a0fd1d25a4550cbf1b3cae9 8297 libs required glibc_2.24-4.dsc
 02918f16d51b136480d748357f5b95fd 916172 libs required 
glibc_2.24-4.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIcBAEBCgAGBQJYA19JAAoJELqceAYd3YybFx8P/iBHr0mo2W/ixR8Ot6rFZhr0
tNmEOMHxju323Zyr3+M6sbOX0rMJN0Qn8oFC8140q4GXiU9uoBlDwcsodOuuPARo
GFctJL0rrtVdLRumTL/6uC8JxwhDNn5om08hhKUZkcR+f5wTzVhO9ADSba/TbUIS
iCe3vPnRThxQygKTvO7XSdSIQUl24SsJvfdOLPIL6/WSV4fLhSwkeJCLN97ITZ+3
/yb40VxtWM/PY+Xc0PyPVVPRmKgFbA+6BGFiGdxQ56xsXyUA5zKBYBWstr4sLZ5Q
C7OccuEvUBV4U/HEKQrnR5pv6BYY0Cdkg28rI166MjlPuJP7jiV2Q79jYTMfphf/
TUWtJNwQtZIp30VXAH4HaeuSKk3r7MKjaJkU7A/C+UBfTmC9361aLZFxU70ODZdb
4wR5xSjPcq5ItQegBdy+2dkzK7xGq0zYjF4QlZ4sU7FGUdRGVsB7Cv5B3o4zhZEX
NvaKEOG6ZCkO3+1pzt3epz6OSw0HFkg8uJ423bJ6zT6EZpykmdaKPD0Bur9f/Lw4
017xATTRNdxUX92/TDDll24SOXFmCDcGBPhazKru35eTAQpUDpuMtqHKZTlplF+Y
78JqEI+0r4iCbUJHqX9iNlcadPh4wemUHY2vNy1eoh0TPqJjEQ1LU/AEbPBJPsfQ
dEMPvmh/SHmlJGklhSn1
=XZAJ
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to