Your message dated Mon, 15 Aug 2016 16:28:45 +0000 with message-id <E1bZKkn-0007Dx-BU@franck.debian.org> and subject line Bug#825865: fixed in glibc 2.24-0experimental1 has caused the Debian Bug report #825865, regarding glibc: Testsuite failure on sparc64 due to unaligned access in wcsmbs/test-wcsncmp.c 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 owner@bugs.debian.org immediately.) -- 825865: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=825865 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: glibc: Testsuite failure on sparc64 due to unaligned access in wcsmbs/test-wcsncmp.c
- From: John Paul Adrian Glaubitz <adrian@endocode.com>
- Date: Tue, 31 May 2016 00:21:26 +0200
- Message-id: <146464688615.21086.16273386696132828234.reportbug@ikarus>
Source: glibc Version: 2.22-9 Severity: normal Tags: patch User: debian-sparc@lists.debian.org Usertags: sparc64 Hi! glibc currently fails to build from source on sparc64 due at least one test in the testsuite failing which is due to a bus error (unaligned access): ---------- XFAIL: wcsmbs/test-wcsncmp original exit status 1 wcsncmp simple_wcsncmp stupid_wcsncmp Didn't expect signal from child: got `Bus error' ---------- I have notified glibc upstream of these issue - not in a bug report but by talking to one of the developers and I have now a patch that fixes the problem [1]. This patch applies cleanly to glibc 2.22-9 in Debian unstable when dropping the Changelog part from the upstream patch, so I'm attaching a patch with this part removed as a suggestion for what to include in the Debian package. Please note: I was still getting some spurious test failures in rt/tst-mqueue5 due to timeouts. But those could also be a local issue which needs some further investiogation (might be related to TIMEOUTFACTOR in debian/build.mk). Cheers, Adrian > [1] https://sourceware.org/ml/libc-alpha/2016-05/msg00710.html -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaubitz@debian.org `. `' Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913Description: Fix string/test-strncmp.c to work with wide chars. wcsmbs/test-wcsncmp.c (i.e. string/test-strncmp with defined WIDE) triggers a signal in aligment-strict platforms, like sparc*-*-*. . This patch fixes string/test-strncmp.c to work properly when the test is performed on arrays of wide chars. This includes passing align1 and align2 to do_test as bytes, and to use more meaningful values for middle chars and large chars. . --- glibc-2.22.orig/string/test-strncmp.c +++ glibc-2.22/string/test-strncmp.c @@ -38,6 +38,8 @@ # define CHAR wchar_t # define UCHAR wchar_t # define CHARBYTES 4 +# define MIDCHAR 0x7fffffff +# define LARGECHAR 0xfffffffe # define CHAR__MAX WCHAR_MAX # define CHAR__MIN WCHAR_MIN @@ -88,6 +90,8 @@ stupid_wcsncmp (const CHAR *s1, const CH # define CHAR char # define UCHAR unsigned char # define CHARBYTES 1 +# define MIDCHAR 0x7f +# define LARGECHAR 0xfe # define CHAR__MAX CHAR_MAX # define CHAR__MIN CHAR_MIN @@ -414,56 +418,56 @@ test_main (void) for (i =0; i < 16; ++i) { - do_test (0, 0, 8, i, 127, 0); - do_test (0, 0, 8, i, 127, -1); - do_test (0, 0, 8, i, 127, 1); - do_test (i, i, 8, i, 127, 0); - do_test (i, i, 8, i, 127, 1); - do_test (i, i, 8, i, 127, -1); - do_test (i, 2 * i, 8, i, 127, 0); - do_test (2 * i, i, 8, i, 127, 1); - do_test (i, 3 * i, 8, i, 127, -1); - do_test (0, 0, 8, i, 255, 0); - do_test (0, 0, 8, i, 255, -1); - do_test (0, 0, 8, i, 255, 1); - do_test (i, i, 8, i, 255, 0); - do_test (i, i, 8, i, 255, 1); - do_test (i, i, 8, i, 255, -1); - do_test (i, 2 * i, 8, i, 255, 0); - do_test (2 * i, i, 8, i, 255, 1); - do_test (i, 3 * i, 8, i, 255, -1); + do_test (0, 0, 8, i, MIDCHAR, 0); + do_test (0, 0, 8, i, MIDCHAR, -1); + do_test (0, 0, 8, i, MIDCHAR, 1); + do_test (CHARBYTES * i, CHARBYTES * i, 8, i, MIDCHAR, 0); + do_test (CHARBYTES * i, CHARBYTES * i, 8, i, MIDCHAR, 1); + do_test (CHARBYTES * i, CHARBYTES * i, 8, i, MIDCHAR, -1); + do_test (CHARBYTES * i, 2 * CHARBYTES * i, 8, i, MIDCHAR, 0); + do_test (2 * CHARBYTES * i, CHARBYTES * i, 8, i, MIDCHAR, 1); + do_test (CHARBYTES * i, 3 * CHARBYTES * i, 8, i, MIDCHAR, -1); + do_test (0, 0, 8, i, LARGECHAR, 0); + do_test (0, 0, 8, i, LARGECHAR, -1); + do_test (0, 0, 8, i, LARGECHAR, 1); + do_test (CHARBYTES * i, CHARBYTES * i, 8, i, LARGECHAR, 0); + do_test (CHARBYTES * i, CHARBYTES * i, 8, i, LARGECHAR, 1); + do_test (CHARBYTES * i, CHARBYTES * i, 8, i, LARGECHAR, -1); + do_test (CHARBYTES * i, 2 * CHARBYTES * i, 8, i, LARGECHAR, 0); + do_test (2 * CHARBYTES * i, CHARBYTES * i, 8, i, LARGECHAR, 1); + do_test (CHARBYTES * i, 3 * CHARBYTES * i, 8, i, LARGECHAR, -1); } for (i = 1; i < 8; ++i) { - do_test (0, 0, 8 << i, 16 << i, 127, 0); - do_test (0, 0, 8 << i, 16 << i, 127, 1); - do_test (0, 0, 8 << i, 16 << i, 127, -1); - do_test (0, 0, 8 << i, 16 << i, 255, 0); - do_test (0, 0, 8 << i, 16 << i, 255, 1); - do_test (0, 0, 8 << i, 16 << i, 255, -1); - do_test (8 - i, 2 * i, 8 << i, 16 << i, 127, 0); - do_test (8 - i, 2 * i, 8 << i, 16 << i, 127, 1); - do_test (2 * i, i, 8 << i, 16 << i, 255, 0); - do_test (2 * i, i, 8 << i, 16 << i, 255, 1); - } - - do_test_limit (0, 0, 0, 0, 127, 0); - do_test_limit (4, 0, 21, 20, 127, 0); - do_test_limit (0, 4, 21, 20, 127, 0); - do_test_limit (8, 0, 25, 24, 127, 0); - do_test_limit (0, 8, 25, 24, 127, 0); + do_test (0, 0, 8 << i, 16 << i, MIDCHAR, 0); + do_test (0, 0, 8 << i, 16 << i, MIDCHAR, 1); + do_test (0, 0, 8 << i, 16 << i, MIDCHAR, -1); + do_test (0, 0, 8 << i, 16 << i, LARGECHAR, 0); + do_test (0, 0, 8 << i, 16 << i, LARGECHAR, 1); + do_test (0, 0, 8 << i, 16 << i, LARGECHAR, -1); + do_test (CHARBYTES * (8 - i), 2 * CHARBYTES * i, 8 << i, 16 << i, MIDCHAR, 0); + do_test (CHARBYTES * (8 - i), 2 * CHARBYTES * i, 8 << i, 16 << i, MIDCHAR, 1); + do_test (2 * CHARBYTES * i, CHARBYTES * i, 8 << i, 16 << i, LARGECHAR, 0); + do_test (2 * CHARBYTES * i, CHARBYTES * i, 8 << i, 16 << i, LARGECHAR, 1); + } + + do_test_limit (0, 0, 0, 0, MIDCHAR, 0); + do_test_limit (CHARBYTES * 4, 0, 21, 20, MIDCHAR, 0); + do_test_limit (0, CHARBYTES * 4, 21, 20, MIDCHAR, 0); + do_test_limit (CHARBYTES * 8, 0, 25, 24, MIDCHAR, 0); + do_test_limit (0, CHARBYTES * 8, 25, 24, MIDCHAR, 0); for (i = 0; i < 8; ++i) { - do_test_limit (0, 0, 17 - i, 16 - i, 127, 0); - do_test_limit (0, 0, 17 - i, 16 - i, 255, 0); - do_test_limit (0, 0, 15 - i, 16 - i, 127, 0); - do_test_limit (0, 0, 15 - i, 16 - i, 127, 1); - do_test_limit (0, 0, 15 - i, 16 - i, 127, -1); - do_test_limit (0, 0, 15 - i, 16 - i, 255, 0); - do_test_limit (0, 0, 15 - i, 16 - i, 255, 1); - do_test_limit (0, 0, 15 - i, 16 - i, 255, -1); + do_test_limit (0, 0, 17 - i, 16 - i, MIDCHAR, 0); + do_test_limit (0, 0, 17 - i, 16 - i, LARGECHAR, 0); + do_test_limit (0, 0, 15 - i, 16 - i, MIDCHAR, 0); + do_test_limit (0, 0, 15 - i, 16 - i, MIDCHAR, 1); + do_test_limit (0, 0, 15 - i, 16 - i, MIDCHAR, -1); + do_test_limit (0, 0, 15 - i, 16 - i, LARGECHAR, 0); + do_test_limit (0, 0, 15 - i, 16 - i, LARGECHAR, 1); + do_test_limit (0, 0, 15 - i, 16 - i, LARGECHAR, -1); } do_random_tests ();
--- End Message ---
--- Begin Message ---
- To: 825865-close@bugs.debian.org
- Subject: Bug#825865: fixed in glibc 2.24-0experimental1
- From: Aurelien Jarno <aurel32@debian.org>
- Date: Mon, 15 Aug 2016 16:28:45 +0000
- Message-id: <E1bZKkn-0007Dx-BU@franck.debian.org>
Source: glibc Source-Version: 2.24-0experimental1 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 825865@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Aurelien Jarno <aurel32@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 ftpmaster@ftp-master.debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Mon, 15 Aug 2016 16:55:38 +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-0experimental1 Distribution: experimental Urgency: medium Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> Changed-By: Aurelien Jarno <aurel32@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: 825865 834138 Changes: glibc (2.24-0experimental1) experimental; urgency=medium . [ Samuel Thibault ] * testsuite-xfail-debian.mk: Update with hurd-i386 non-regressions. . [ Aurelien Jarno ] * debian/patches/git-updates.diff: update from upstream stable branch: - debian/patches/powerpc/submitted-powerpc-ifunc-sel.diff: upstreamed. - debian/patches/sparc/submitted-sparc-fdim.diff: upstreamed. * debian/patches/sparc/cvs-test-strncmp.diff: new patch from upstream to fix wcsmbs/test-wcsncmp on architecture with strong alignment. Closes: #825865. * debian/patches/testsuite-xfail-debian.mk: remove xfail-test-wcsncmp on sparc. * debian/sysdeps/{sparc,sparc64}.mk: force target to sparcv9-linux-gnu. * debian/patches/sparc/local-sparcv9-target.diff: drop, obsolete. * patches/hppa/local-stack-grows-up.diff: restore one hunk that has not been merged upstream from the 2.23 version. * patches/localedata/locale-C.diff: update to unicode 8.0.0, add missing categories, use the copy directive when possible. * debian/rules.d/build.mk: disable the C++ compiler when tests are disabled, based on a patch from Matthias Klose. Closes: #834138. * rules.d/build.mk: test for DEB_BUILD_OPTIONS="nocheck" using filter instead of findstring. * patches/kfreebsd/local-sysdeps.diff: update to revision 6101 (from glibc-bsd). Checksums-Sha1: d56ecc3eec308655f628f8de6ad03bb4862e54df 8333 glibc_2.24-0experimental1.dsc f4c2cd2278b7b1395ecdb66051daab857b6da929 907268 glibc_2.24-0experimental1.debian.tar.xz Checksums-Sha256: 38c47cf05697ab8b85e4bd980dea0b3c69c1ee2cacb027050cc7dedbc7c60b47 8333 glibc_2.24-0experimental1.dsc 9cc5e10cd6c4705654bdc5c805f0f068fd106c45b6442f632d48de164eef7efa 907268 glibc_2.24-0experimental1.debian.tar.xz Files: f1e698c7f1f0adf38f39d94cb2481d55 8333 libs required glibc_2.24-0experimental1.dsc 46e795958ad92351748657d70f1dff47 907268 libs required glibc_2.24-0experimental1.debian.tar.xz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCgAGBQJXsdhMAAoJELqceAYd3Yyb25AQAItcrX8U3Y2tPtdZf3G8//oY Hip3FH9XbAAHOUHQl0WjNxSpqKpaC9biEmoC9eQa+rYD7AIifhLAfN8TVg/D1jiJ g+GAL+rV99G7CeF/atlUEhJuOkae71CKM40/Ns/12BD9/GgTLbQyIJSfxTBDtOmM z30D45d1IWC1HWB6Mgpfah8RzPGOxcNjqUdKPy4eOW7EXBGNr8MiTnXXXj9alfqd LboJDhKmvNCi0bRY+wfuYbAgFjfv3VTFy1vPB/c9P35J4VRO9C3H7iwNfpyOLDBm qpDFEO6CyS5QqXYdx1RnTnNEVB+GNdpjlPbU0WIaedU+ZYT2mdwJ2cAQV+XcYVx5 er1JvExb61lkPUgRdHNxBEOQHsqZkmsthTIfZ4kODdGTZnItVgpmiVsRDF60alB4 JpNqM8PNg8Gre4e3QyV0TyMUsKYnQ2Owuqzy2jo41c3hhbLHsmGNawZUMWC6jv+n 0wuZcgRj+jRRUm1o0k2kRAAoSOTivIOXg4JiU0JMb3onjpr+PwvLT2HPRMwAncat FCGGtmN8Yub2XBhubA1k722RwY7tZ6kNl9hL+xE8b1gJZkZ/qxsWxTwDQ7hAHNl6 FZWeeQ0JZcb5TDLdFrBsBc6fb62qeRXVDJvTPQFhjaeCXyFKy2pfzv+PTCBuHdDT TQ6ks2g1OefB43hAdtRs =pkiC -----END PGP SIGNATURE-----
--- End Message ---