Release/2.25 - glibc wiki (2024)

Contents

  1. Current status
  2. Planning
    1. Release blockers?
    2. Desirable this release?
  3. Known Issues
    1. Build and test issues
    2. Packaging Changes

1. Current status

The release branch of glibc-2.25 is maintained by Siddhesh Poyarekar and was released on 2017-02-05. There are no immediate plans for the next release.

The ref structure of this branch is:

  • release/2.25/master: main branch
  • glibc-2.25.N: revision releases tagged out of release/2.25/master

These people are interested in contents and further revisions tagged on the branch:

  • <Add your name here>

The general policies for release branches apply to this branch. Do you think a certain bugfix should be included in this branch?

  1. Is the fix committed in master? It has to be, unless it's not applicable to master (e.g. code has been rewritten meantime).
  2. Do you have commit permissions? If so, go ahead if you think it's reasonably safe. break;
  3. Can you handle Git yourself? Then you can clone the glibc repository, cherry-pick the appropriate fixes, push your branch out and send a pull request at libc-alpha. break;
  4. Add the glibc_2.25 keyword to the appropriate bug report.
  5. If there is no appropriate bug report, send a request for the fix to be included to libc-alpha.

A revision release is tagged either when some critical bug-fix appears, or after some period of real-world testing, usually mainly in some SUSE distribution branch (but other distributions are welcome to run latest release/2.25/master as well, more so if they tell me about it!).

2. Planning

What things do we want to accomplish this release?

2.1. Release blockers?

Patchset

Reviewers

global-dynamic TLS broken on aarch64 and others

Carlos O'Donell

race condition in __lll_unlock_elision on powerpc

explicit_bzero test case (?) issue on s390x

Fix x86_64 memchr for large input sizes

glibc tunables

Florian Weimer

Fix for bug 20019 causes linker errors for shared libraries using longjmp

Carlos O'Donell

New condvar and rwlock

Carlos O'Donell

tunables: insecure environment variables passed to subprocesses with AT_SECURE

Florian Weimer

Use after free in pthread_create

Carlos O'Donell

2.2. Desirable this release?

  • _Float128 support on ppc64le

  • Consolidate Linux sysvipc implementation

3. Known Issues

3.1. Build and test issues

Describe build and test issues for each architecture, or confirm a clean build with no testsuite failures. The list below is not a complete list of ABI variants; testing should try to cover the different ABI variants as far as possible.

Build system: UNAME -a, GCC?, Binutils?, Kernel ?

TRIMMED LIST OF FAILURES.

3.1.1. Architecture-independent

  • On systems with limited memory, stdio-common/test-vfprintf and stdio-common/bug22 may fail (bug 14231).

  • If cross-testing, and the physical path to the build directory is different on the build system and the host used for testing (if it involves a symlink on one system but not the other), io/ftwtest fails.
  • If cross-testing and the system on which glibc runs does not have cpp (used by rpcgen), sunrpc/bug20790 fails.
  • If cross-testing and the system on which glibc runs does not have python3 or python (whichever was found by configure on the build system), the pretty printers tests fail:
    FAIL: nptl/test-cond-printersFAIL: nptl/test-condattr-printersFAIL: nptl/test-mutex-printersFAIL: nptl/test-mutexattr-printersFAIL: nptl/test-rwlock-printersFAIL: nptl/test-rwlockattr-printers
    Similarly if the system lacks PExpect 4.0 or newer the same tests fail. Similarly if the system lacks gdb 7.8 or newer the same tests fail.
  • On systems with Linux kernel 3.11 through 3.17, missing a backport of commit 69a91c237ab0ebe4e9fdeaf6d0090c85275594ec (present in 3.18, backports may be in some older stable series), io/tst-open-tmpfile fails.
  • timezone/tst-tzset creates a 4GB file in $TMPDIR and fails if there is not enough disk space.
  • If the test system does not have suitable copies of libgcc_s.so and libstdc++.so installed in system library directories, it is necessary to copy or symlink them into the build directory before testing (see https://sourceware.org/ml/libc-alpha/2012-04/msg01014.html regarding the use of system library directories here).

  • On configurations that build with --enable-nss-crypt the following failures occur:

    FAIL: conform/UNIX98/unistd.h/linknamespaceFAIL: conform/XOPEN2K/unistd.h/linknamespaceFAIL: conform/XOPEN2K8/unistd.h/linknamespaceFAIL: conform/XPG3/unistd.h/linknamespaceFAIL: conform/XPG4/unistd.h/linknamespace
    these failures are due to the NSS functions polluting the namespace e.g.
    [initial] crypt -> [libcrypt.a(crypt-entry.o)] __md5_crypt -> [libcrypt.a(md5-crypt.o)] NSSLOWHASH_Begin[initial] crypt -> [libcrypt.a(crypt-entry.o)] __md5_crypt -> [libcrypt.a(md5-crypt.o)] NSSLOWHASH_Destroy[initial] crypt -> [libcrypt.a(crypt-entry.o)] __md5_crypt -> [libcrypt.a(md5-crypt.o)] NSSLOWHASH_End[initial] crypt -> [libcrypt.a(crypt-entry.o)] __md5_crypt -> [libcrypt.a(md5-crypt.o)] NSSLOWHASH_NewContext[initial] crypt -> [libcrypt.a(crypt-entry.o)] __md5_crypt -> [libcrypt.a(md5-crypt.o)] NSSLOWHASH_Update[initial] crypt -> [libcrypt.a(crypt-entry.o)] __md5_crypt -> [libcrypt.a(md5-crypt.o)] NSSLOW_Init[initial] crypt -> [libcrypt.a(crypt-entry.o)] __md5_crypt -> [libcrypt.a(md5-crypt.o)] NSSLOW_Shutdown

3.1.2. AArch64

Build system: GCC 6.3.1 20170116, binutils 2.26.2.20160726, Linux 4.2.0-30-generic (Szabolcs Nagy)

FAIL: debug/tst-backtrace5FAIL: debug/tst-backtrace6XPASS: elf/tst-protected1aXPASS: elf/tst-protected1bFAIL: elf/tst-tls-manydynamicUNSUPPORTED: math/test-fesetexcept-trapsUNSUPPORTED: math/test-fexcept-trapsUNSUPPORTED: math/test-nearbyint-except-2UNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: nptl/tst-stack4Summary of test results: 4 FAIL 2589 PASS 9 UNSUPPORTED 43 XFAIL 2 XPASS
  • elf/tst-tls-manydynamic is a regression introduced in 17af5da98cd2c9ec958421ae2108f877e0945451

Build system: RHEL 7, gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC), binutils 2.27-1.base.el7, linux 4.5.0-15.el7.aarch64 (Carlos O'Donell)

FAIL: conform/UNIX98/unistd.h/linknamespaceFAIL: conform/XOPEN2K/unistd.h/linknamespaceFAIL: conform/XOPEN2K8/unistd.h/linknamespaceFAIL: conform/XPG3/unistd.h/linknamespaceFAIL: conform/XPG4/unistd.h/linknamespaceFAIL: debug/tst-backtrace5FAIL: debug/tst-backtrace6XPASS: elf/tst-protected1aXPASS: elf/tst-protected1bFAIL: elf/tst-tls-manydynamicFAIL: math/basic-testFAIL: math/test-doubleUNSUPPORTED: math/test-fesetexcept-trapsUNSUPPORTED: math/test-fexcept-trapsFAIL: math/test-floatFAIL: math/test-ldoubleUNSUPPORTED: math/test-nearbyint-except-2UNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: nptl/tst-stack4UNSUPPORTED: nptl/tst-thread_local1FAIL: rt/tst-mqueue6UNSUPPORTED: stdlib/tst-quick_exitUNSUPPORTED: stdlib/tst-thread-quick_exitSummary of test results: 14 FAIL 2547 PASS 12 UNSUPPORTED 43 XFAIL 2 XPASS
  • The tst-thread_local1, tst-quick_exit and tst-thread-quick_exit UNSUPPORTED entries are because the compiler version doesn't support thread local for C++.
  • The tst-mqueue6 failure is a timeout issue, test passes on an unloaded system.
  • The tst-stack4 failure is a segfault and this is bug 19329 (https://sourceware.org/bugzilla/show_bug.cgi?id=19329).

  • The 6 printers tests fail because RHEL7 lacks gdb 7.8 (only gdb 7.6 is available).
  • The tst-backtrace5 and test-backtrace6 are discussed here: https://sourceware.org/ml/libc-alpha/2014-08/msg00139.html

  • The tst-tls-manydynamic failure is bug 20915 (https://sourceware.org/bugzilla/show_bug.cgi?id=20915).

  • The math/basic-test failure is:
    Failure: long double x = (long double) (float) sNaN, !issignalingFailure: long double x = (long double) (double) sNaN, !issignaling
  • The math/test-float failures is:
    testing float (without inline functions)Failure: tgamma_upward (-0x1.86a08p+16): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x1.f40002p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x2.a00004p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x2.ee0004p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x3.200004p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x3.e80004p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x4.e20008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x5.dc0008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x5.f0e02p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.400008p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.d60008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.e2fff8p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.e40008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.e4fff8p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.e60008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.ec0008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.ecfff8p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.ee0008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.eefff8p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x9.60001p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xa.c0001p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.4ffffp+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.60001p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.6ffffp+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.80001p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.c0001p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.cffffp+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.e0001p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.effffp+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xf.a0001p+4): errno set to 0, expected 34 (ERANGE)
  • The math/test-double failures is:
    testing double (without inline functions)Failure: tgamma_upward (-0x1.86a08p+16): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x1.f400000000001p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x1.f40002p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x2.ee00000000002p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x2.ee0004p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x3.e800000000002p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x3.e80004p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x4.e200000000004p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x4.e20008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x5.dc00000000004p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x5.dc0008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x5.f0e02p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.d600000000004p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.d60008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.e2fff8p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.e2ffffffffffcp+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.e400000000004p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.e40008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.e4fff8p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.e4ffffffffffcp+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.e600000000004p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.e60008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.ec00000000004p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.ec0008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.ecfff8p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.ecffffffffffcp+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.ee00000000004p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.ee0008p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.eefff8p+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0x6.eeffffffffffcp+8): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.4ffffp+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.60001p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.6ffffp+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.8000000000008p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.80001p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.c000000000008p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.c0001p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.cfffffffffff8p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.cffffp+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.e000000000008p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.e0001p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.efffffffffff8p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xb.effffp+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xf.a000000000008p+4): errno set to 0, expected 34 (ERANGE)Failure: tgamma_upward (-0xf.a0001p+4): errno set to 0, expected 34 (ERANGE)
  • The math/test-ldouble failures is 640 failures related to the following API calls:
    iseqsig_downwardiseqsigiseqsig_towardzeroiseqsig_upwardisgreater_downwardisgreaterequal_downwardisgreaterequalisgreaterequal_towardzeroisgreaterequal_upwardisgreaterisgreater_towardzeroisgreater_upwardisless_downwardislessequal_downwardislessequalislessequal_towardzeroislessequal_upwardislessislessgreater_downwardislessgreaterislessgreater_towardzeroislessgreater_upwardisless_towardzeroisless_upwardisunordered_downwardisunorderedisunordered_towardzeroisunordered_upward
  • The math/test-fesetexcept-traps failure is:
    feenableexcept (FE_ALL_EXCEPT) not supported, cannot test
  • The math/test-fexcept-traps failure is:
    feenableexcept (FE_ALL_EXCEPT) not supported, cannot test
  • The math/test-nearbyint-except-2 failure is:
    enabling FE_INEXACT traps failed, cannot test

3.1.3. Alpha

Build system: qemu 2.8, GCC 6.2, binutils 2.25, Linux 4.9 (Richard Henderson)

FAIL: conform/POSIX2008/termios.h/conformFAIL: conform/UNIX98/termios.h/conformFAIL: conform/XOPEN2K/netdb.h/conformFAIL: conform/XOPEN2K/termios.h/conformFAIL: conform/XOPEN2K8/netdb.h/conformFAIL: conform/XOPEN2K8/termios.h/conformFAIL: conform/XPG3/termios.h/conformFAIL: conform/XPG4/termios.h/conformFAIL: crypt/badsalttestFAIL: debug/tst-backtrace5FAIL: debug/tst-backtrace6FAIL: elf/tst-prelink-cmpFAIL: io/tst-fts-lfsFAIL: math/test-doubleFAIL: math/test-double-finiteFAIL: math/test-fenv-returnFAIL: math/test-fexceptFAIL: math/test-floatFAIL: math/test-float-finiteFAIL: math/test-idoubleFAIL: math/test-ifloatFAIL: math/test-ldoubleFAIL: math/test-ldouble-finiteFAIL: nptl/tst-create-detachedFAIL: nptl/tst-eintr1FAIL: nptl/tst-robust-forkFAIL: nptl/tst-rwlock19FAIL: stdio-common/check-installed-headers-cxxFAIL: stdlib/tst-getrandomFAIL: stdlib/tst-strtod-roundFAIL: string/tst-cmpFAIL: wcsmbs/tst-wcstod-round

All of the math failures are due to lack of Inexact being raised; this is a well-known problem on Alpha with no easy solution.

3.1.4. ARM

Build system: (hard-float ABI) GCC 6.3.1 20170120, binutils 2.28.51.20170120, Linux 3.5.0 (Joseph Myers)

XPASS: elf/tst-protected1aXPASS: elf/tst-protected1bFAIL: io/ftwtestUNSUPPORTED: io/tst-open-tmpfileUNSUPPORTED: math/test-fesetexcept-trapsUNSUPPORTED: math/test-fexcept-trapsUNSUPPORTED: math/test-nearbyint-except-2UNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: nptl/tst-stack4FAIL: stdio-common/bug22UNSUPPORTED: stdlib/tst-getrandomFAIL: sunrpc/bug20790FAIL: timezone/tst-tzsetSummary of test results: 5 FAIL 2073 PASS 11 UNSUPPORTED 9 XFAIL 2 XPASS
  • nptl/tst-stack4 failure caused due to 17af5da98cd2c9ec958421ae2108f877e0945451.

Build system: Fedora Rawhide, gcc-7.0.1-0.3.fc26, binutils-2.27-15.fc26, linux 4.9.2-200.fc25.armv7hl (Carlos O'Donell)

FAIL: conform/UNIX98/unistd.h/linknamespaceFAIL: conform/XOPEN2K/unistd.h/linknamespaceFAIL: conform/XOPEN2K8/unistd.h/linknamespaceFAIL: conform/XPG3/unistd.h/linknamespaceFAIL: conform/XPG4/unistd.h/linknamespaceXPASS: elf/tst-protected1aXPASS: elf/tst-protected1bUNSUPPORTED: math/test-fesetexcept-trapsUNSUPPORTED: math/test-fexcept-trapsUNSUPPORTED: math/test-nearbyint-except-2UNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersSummary of test results: 5 FAIL 2586 PASS 9 UNSUPPORTED 43 XFAIL 2 XPASS
  • The test*printers failures are all related to missing PExpect.
  • The linknamespace failures are generic and related to --enable-nss-crypt.

  • The math/test-fesetexcept-traps, math/test-fexcept-traps, and math/test-nearbyint-except-2 are all probably related to the same suite of failures for aarch64 (see above).

3.1.5. HPPA

3.1.6. IA64

Note: Building with gcc-4.8+ and --hash-style=gnu will create an ldso that segfaults immediately. See https://gcc.gnu.org/PR60465 for more details. You can workaround this in three ways:

  • build glibc with >=gcc-5.4

  • build glibc with <=gcc-4.7

  • build glibc with -Wl,--hash-style=sysv
  • build glibc with this hack

Build system: ia64 Dual-Core Intel(R) Itanium(R) Processor 9040, gcc (Gentoo 4.9.4 p1.0, pie-0.6.4), GNU assembler (Gentoo 2.25.1 p1.1), Linux headers 4.4, Linux 3.14.14-gentoo. (Mike Frysinger)

FAIL: debug/tst-backtrace4XPASS: elf/tst-protected1aXPASS: elf/tst-protected1bUNSUPPORTED: io/tst-fallocateUNSUPPORTED: io/tst-fallocate64FAIL: io/tst-open-tmpfileFAIL: math/test-doubleFAIL: math/test-double-finiteFAIL: math/test-fenv-returnFAIL: math/test-fesetexceptFAIL: math/test-fexceptFAIL: math/test-floatFAIL: math/test-float-finiteFAIL: math/test-idoubleFAIL: math/test-ifloatFAIL: math/test-ildoubleFAIL: math/test-ldoubleFAIL: math/test-ldouble-finiteFAIL: math/test-nearbyint-exceptUNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: nptl/tst-cancel21FAIL: nptl/tst-cancelx21FAIL: nptl/tst-eintr1FAIL: nptl/tst-exec1FAIL: nptl/tst-exec5FAIL: posix/tst-spawnFAIL: posix/tst-spawn-staticFAIL: posix/tst-spawn2FAIL: posix/tst-spawn3FAIL: stdio-common/check-installed-headers-cxxFAIL: stdio-common/tst-long-dbl-fphexUNSUPPORTED: stdlib/tst-getrandomFAIL: stdlib/tst-makecontext3FAIL: string/stratcliffFAIL: string/test-rawmemchrFAIL: sysvipc/test-sysvmsgFAIL: sysvipc/test-sysvsemFAIL: sysvipc/test-sysvshm
  • tst-backtrace4 is known to fail on IA64 due to limited backtrace output; mailing list thread

  • all the math/ tests probably match some open bugs on the topic, or need some baselines updated, or are limitations in the IA64 optimized libm
  • tst-cpuclock2 seems to be flaky as it passes normally, but sometimes fails under load
  • tst-makecontext3 fails as makecontext is known to be limited on IA64; bug 14250

3.1.7. M68K

Build system: ARAnyM 1.0.2, openSUSE Tumbleweed, gcc6-6.2.1+r243481, binutils-2.27, Linux 4.9.0 (Andreas Schwab)

FAIL: math/basic-testFAIL: math/test-canonical-ldbl-96FAIL: math/test-doubleFAIL: math/test-double-finiteFAIL: math/test-fenvFAIL: math/test-floatFAIL: math/test-float-finiteFAIL: math/test-idoubleFAIL: math/test-ifloatFAIL: math/test-ildoubleFAIL: math/test-ldoubleFAIL: math/test-ldouble-finiteFAIL: math/test-snan

3.1.8. MicroBlaze

Build system: gcc (Gentoo 4.9.3 p1.2, pie-0.6.2), GNU assembler (Gentoo 2.25.1 p1.0), Linux headers 4.9 (Mike Frysinger)

Build-test only for microblaze-linux-gnu is OK.

3.1.9. MIPS

Build system: GCC 6.3.1 20170120, binutils 2.28.51.20170120, Linux 3.16 (LE hard-float), 3.14 (BE soft-float) (Joseph Myers)

Seen for all ABIs tested:

FAIL: io/tst-open-tmpfileFAIL: nptl/test-cond-printersFAIL: nptl/test-condattr-printersFAIL: nptl/test-mutex-printersFAIL: nptl/test-mutexattr-printersFAIL: nptl/test-rwlock-printersFAIL: nptl/test-rwlockattr-printersFAIL: stdio-common/bug22FAIL: stdio-common/test-vfprintfFAIL: sunrpc/bug20790FAIL: timezone/tst-tzset

Seen for o32, both BE soft-float and LE hard-float:

FAIL: nptl/tst-rwlock15
  • nptl/tst-rwlock15 failure cause unknown.

3.1.10. Nios II

Build system: GCC 6.2.0, binutils 2.26.51, Linux headers 4.7 (Chung-Lin Tang)

FAIL: math/test-nearbyint-exceptFAIL: nptl/test-cond-printersFAIL: nptl/test-condattr-printersFAIL: nptl/test-mutex-printersFAIL: nptl/test-mutexattr-printersFAIL: nptl/test-rwlock-printersFAIL: nptl/test-rwlockattr-printersFAIL: nptl/tst-cond12FAIL: nss/tst-cancel-getpwuid_rFAIL: string/tst-cmpFAIL: sunrpc/bug20790FAIL: support/tst-support_record_failure-2
  • Test board does not have python immediately available, likely cause of nptl/*-printers fails
  • nptl/tst-cond12 was known from 2.24.
  • math/test-nearbyint-except failed due to no exception testing at all for Nios II.
  • Rest unknown.

3.1.11. PowerPC (32-bit soft-float)

Build system: (soft-float) GCC 6.3.1 20170120, binutils 2.28.51.20170120, Linux 3.10.38 (Joseph Myers)

XPASS: elf/tst-protected1aXPASS: elf/tst-protected1bFAIL: elf/tst-tls-manydynamicFAIL: io/ftwtestUNSUPPORTED: io/tst-open-tmpfileFAIL: math/test-doubleFAIL: math/test-floatFAIL: math/test-ildoubleFAIL: math/test-ldoubleFAIL: math/test-ldouble-finiteFAIL: math/test-nearbyint-except-2FAIL: nptl/test-cond-printersFAIL: nptl/test-condattr-printersFAIL: nptl/test-mutex-printersFAIL: nptl/test-mutexattr-printersFAIL: nptl/test-rwlock-printersFAIL: nptl/test-rwlockattr-printersFAIL: nptl/tst-rwlock19FAIL: nptl/tst-stack4FAIL: posix/tst-posix_fadvise64FAIL: stdio-common/bug22FAIL: stdio-common/test-vfprintfUNSUPPORTED: stdlib/tst-getrandomFAIL: sunrpc/bug20790FAIL: timezone/tst-tzsetSummary of test results: 21 FAIL 2075 PASS 2 UNSUPPORTED 9 XFAIL 2 XPASS
  • elf/tst-tls-manydynamic failure is bug 20915.

  • math/ tests fail because of IBM long double issues, in particular GCC bug 64811 (float and double failures are for nexttoward, so long double is involved there as well).

  • nptl/tst-rwlock19 failure cause unknown.
  • nptl/tst-stack4 failure caused due to 17af5da98cd2c9ec958421ae2108f877e0945451.
  • posix/tst-posix_fadvise64 failure results from a kernel bug with 32-bit powerpc kernels.

3.1.12. PowerPC (32-bit hard-float)

Build system: Ubuntu 16.04. gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4). GNU assembler version 2.26.1 (powerpc-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.26.1 (Tulio Magno)

XPASS: elf/tst-protected1aXPASS: elf/tst-protected1bFAIL: elf/tst-tls-manydynamicUNSUPPORTED: math/test-fesetexcept-trapsUNSUPPORTED: math/test-fexcept-trapsFAIL: math/test-ildoubleFAIL: math/test-ldoubleFAIL: math/test-ldouble-finiteUNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: nptl/tst-stack4FAIL: stdio-common/check-installed-headers-cxxSummary of test results: 6 FAIL 2597 PASS 8 UNSUPPORTED 43 XFAIL 2 XPASS
  • elf/tst-tls-manydynamic and nptl/tst-stack4 started to fail after commit 17af5da98cd2c9ec958421ae2108f877e0945451.

3.1.13. PowerPC (64-bit hard-float)

Build system: Fedora 22. gcc version 5.3.1 20160406 (Red Hat 5.3.1-6) (GCC). GNU assembler version 2.25 (ppc64-redhat-linux) using BFD version version 2.25-9.fc22. (Tulio Magno)

XPASS: elf/tst-protected1aXPASS: elf/tst-protected1bFAIL: elf/tst-tls-manydynamicUNSUPPORTED: math/test-fesetexcept-trapsUNSUPPORTED: math/test-fexcept-trapsFAIL: math/test-ildoubleFAIL: math/test-ldoubleFAIL: math/test-ldouble-finiteUNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: nptl/tst-stack4Summary of test results: 5 FAIL 2598 PASS 8 UNSUPPORTED 43 XFAIL 2 XPASS
  • elf/tst-tls-manydynamic and nptl/tst-stack4 started to fail after commit 17af5da98cd2c9ec958421ae2108f877e0945451.

Build System: RHEL7, gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC), GNU ld version 2.27-1.base.el7, linux 3.10.0-549.el7.ppc64 (Carlos O'Donell)

FAIL: conform/UNIX98/unistd.h/linknamespaceFAIL: conform/XOPEN2K/unistd.h/linknamespaceFAIL: conform/XOPEN2K8/unistd.h/linknamespaceFAIL: conform/XPG3/unistd.h/linknamespaceFAIL: conform/XPG4/unistd.h/linknamespaceXPASS: elf/tst-protected1aXPASS: elf/tst-protected1bFAIL: elf/tst-tls-manydynamicUNSUPPORTED: io/tst-open-tmpfileFAIL: malloc/tst-malloc-usableFAIL: malloc/tst-malloc-usable-staticFAIL: malloc/tst-malloc-usable-static-tunablesFAIL: malloc/tst-malloc-usable-tunablesFAIL: math/test-doubleUNSUPPORTED: math/test-fesetexcept-trapsUNSUPPORTED: math/test-fexcept-trapsFAIL: math/test-floatFAIL: math/test-ildoubleFAIL: math/test-ldoubleFAIL: math/test-ldouble-finiteUNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: nptl/tst-stack4UNSUPPORTED: nptl/tst-thread_local1UNSUPPORTED: stdlib/tst-getrandomUNSUPPORTED: stdlib/tst-quick_exitUNSUPPORTED: stdlib/tst-thread-quick_exitSummary of test results: 16 FAIL 2584 PASS 13 UNSUPPORTED 43 XFAIL 2 XPASS

3.1.14. PowerPC64LE (64-bit hard-float)

Build system: Ubuntu 16.04. gcc version 5.4.0 20160609 (Ubuntu/IBM 5.4.0-6ubuntu1~16.04.4). GNU assembler version 2.26.1 (powerpc64le-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.26.1 (Tulio Magno)

XPASS: elf/tst-protected1aXPASS: elf/tst-protected1bFAIL: elf/tst-tls-manydynamicUNSUPPORTED: math/test-fesetexcept-trapsUNSUPPORTED: math/test-fexcept-trapsFAIL: math/test-ildoubleFAIL: math/test-ldoubleFAIL: math/test-ldouble-finiteUNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: nptl/tst-stack4FAIL: stdio-common/check-installed-headers-cxxSummary of test results: 6 FAIL 2597 PASS 8 UNSUPPORTED 43 XFAIL 2 XPASS
  • elf/tst-tls-manydynamic and nptl/tst-stack4 started to fail after commit 17af5da98cd2c9ec958421ae2108f877e0945451.

Build system: RHEL7, gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC), GNU ld version 2.27-1.base.el7, linux 3.10.0-549.el7.ppc64le (Carlos O'Donell)

FAIL: conform/UNIX98/unistd.h/linknamespaceFAIL: conform/XOPEN2K/unistd.h/linknamespaceFAIL: conform/XOPEN2K8/unistd.h/linknamespaceFAIL: conform/XPG3/unistd.h/linknamespaceFAIL: conform/XPG4/unistd.h/linknamespaceXPASS: elf/tst-protected1aXPASS: elf/tst-protected1bFAIL: elf/tst-tls-manydynamicUNSUPPORTED: io/tst-open-tmpfileFAIL: math/test-doubleUNSUPPORTED: math/test-fesetexcept-trapsUNSUPPORTED: math/test-fexcept-trapsFAIL: math/test-floatFAIL: math/test-ildoubleFAIL: math/test-ldoubleFAIL: math/test-ldouble-finiteUNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: nptl/tst-stack4UNSUPPORTED: nptl/tst-thread_local1UNSUPPORTED: stdlib/tst-getrandomUNSUPPORTED: stdlib/tst-quick_exitUNSUPPORTED: stdlib/tst-thread-quick_exitSummary of test results: 12 FAIL 2588 PASS 13 UNSUPPORTED 43 XFAIL 2 XPASS

3.1.15. S/390 (32-bit)

Build system: gcc version 5.3.0, GNU Binutils version 2.25, Linux 4.2 (Stefan Liebler)

FAIL: math/test-doubleFAIL: math/test-idoubleFAIL: math/test-ifloatFAIL: math/test-ildoubleFAIL: nptl/tst-setuid2FAIL: string/tst-strcoll-overflow

See test fail descriptions for S/390 (64bit).

3.1.16. S/390 (64-bit)

Build system: gcc version 5.3.0, GNU Binutils version 2.25, Linux 4.2 (Stefan Liebler)

FAIL: nptl/tst-cancelx4FAIL: nptl/tst-cancelx5FAIL: nptl/tst-cancelx16FAIL: math/test-doubleFAIL: math/test-idoubleFAIL: math/test-ifloatFAIL: math/test-ildoubleFAIL: nptl/tst-setuid2FAIL: string/tst-strcoll-overflow
  • nptl/tst-cancelx4|5 fails due to "cleanup handler not called for 'sigwait'".

GCCs >= 4.9 and <= 5.3 saves r15 in a floating-point register in do_sigwait() and emits false cfi information. If a thread is cancelled while sigwait blocks, unwinding has already stopped before the function with the cleanup-handler. See gcc commits "S/390: Fix cfi for GPR 2 FPR saves" in gcc 4.9 branch, gcc 5 branch and gcc 6 branch. This occures if built with -O2. With -O3, r15 is not saved in fpr here and the test passes.

  • nptl/tst-cancelx16 fails due to not called cleanup handler around lockf - same issue as above.
  • math/test-double, math/test-idouble are failing due to pow function if first argument is one and second argument is a sNaN value. This is due to gcc Bug 78857 - S390: Do not use load-and-test floating-point instruction to compare against 0.0 as SNaN is converted to QNaN.

  • math/test-ifloat, math/test-idouble, math/test-ildouble are failing due to cases where setpayloadsig shall return sNaN. The setpayloadsig function itself works as expected. The same gcc bug as with pow results to a usage of the load-and-test instruction within the math-tests which leads to expecting qNaN instead of sNaN.
  • nptl/tst-setuid2 passes with root privileges.
  • string/tst-strcoll-overflow fails because the invocation of strcoll successfully returns before the expected timeout. The old test framework expected either a timeout or a successfully return. The new test framework expects only the timeout.

Build System: RHEL7, gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC), GNU ld version 2.27-1.base.el7, linux 3.10.0-549.el7.s390x (Carlos O'Donell)

FAIL: conform/UNIX98/unistd.h/linknamespaceFAIL: conform/XOPEN2K/unistd.h/linknamespaceFAIL: conform/XOPEN2K8/unistd.h/linknamespaceFAIL: conform/XPG3/unistd.h/linknamespaceFAIL: conform/XPG4/unistd.h/linknamespaceUNSUPPORTED: io/tst-open-tmpfileFAIL: malloc/tst-malloc-usableFAIL: malloc/tst-malloc-usable-staticFAIL: malloc/tst-malloc-usable-static-tunablesFAIL: malloc/tst-malloc-usable-tunablesFAIL: math/test-doubleFAIL: math/test-idoubleFAIL: math/test-ifloatFAIL: math/test-ildoubleUNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: nptl/tst-create-detachedUNSUPPORTED: nptl/tst-thread_local1UNSUPPORTED: stdlib/tst-getrandomUNSUPPORTED: stdlib/tst-quick_exitUNSUPPORTED: stdlib/tst-thread-quick_exitSummary of test results: 14 FAIL 2576 PASS 11 UNSUPPORTED 45 XFAIL
  • The namespace failures are related to --enable-nss-crypt.

  • The system compiler C++ support doesn't include thread local so the thread local tests are unsupported.
  • The *printers tests are unsupported because of gdb < 7.8.

  • Failure in tst-create-detached is just a timeout. Test runs successfully when timeout is extended.
  • The io/tst-open-tmpfile test is unsupported because of missing kernel features.
  • All 4 malloc_usable tests fail with:
    malloc_usable_size: expected 7 but got 24
  • The test-double failures are pow + sNaN related (maybe compiler issues):
    testing double (without inline functions)Failure: Test: pow (1, sNaN)Result: is: 1.0000000000000000e+00 0x1.0000000000000p+0 should be: qNaNFailure: Test: pow (1, -sNaN)Result: is: 1.0000000000000000e+00 0x1.0000000000000p+0 should be: qNaNFailure: Test: pow_downward (1, sNaN)Result: is: 1.0000000000000000e+00 0x1.0000000000000p+0 should be: qNaNFailure: Test: pow_downward (1, -sNaN)Result: is: 1.0000000000000000e+00 0x1.0000000000000p+0 should be: qNaNFailure: Test: pow_towardzero (1, sNaN)Result: is: 1.0000000000000000e+00 0x1.0000000000000p+0 should be: qNaNFailure: Test: pow_towardzero (1, -sNaN)Result: is: 1.0000000000000000e+00 0x1.0000000000000p+0 should be: qNaNFailure: Test: pow_upward (1, sNaN)Result: is: 1.0000000000000000e+00 0x1.0000000000000p+0 should be: qNaNFailure: Test: pow_upward (1, -sNaN)Result: is: 1.0000000000000000e+00 0x1.0000000000000p+0 should be: qNaNTest suite completed: 203782 test cases plus 180154 tests for exception flags and 180154 tests for errno executed. 8 errors occurred.
  • The test-ifloat failure is:
    testing float (inline functions)Failure: Test: setpayloadsig (0x1p0) extra output 1Result: is: sNaN should be: qNaNFailure: Test: setpayloadsig (0x2p0) extra output 1Result: is: sNaN should be: qNaNFailure: Test: setpayloadsig (0x3fffffp0) extra output 1Result: is: sNaN should be: qNaNFailure: Test: setpayloadsig_downward (0x1p0) extra output 1Result: is: sNaN should be: qNaNFailure: Test: setpayloadsig_downward (0x2p0) extra output 1Result: is: sNaN should be: qNaNFailure: Test: setpayloadsig_downward (0x3fffffp0) extra output 1Result: is: sNaN should be: qNaNFailure: Test: setpayloadsig_towardzero (0x1p0) extra output 1Result: is: sNaN should be: qNaNFailure: Test: setpayloadsig_towardzero (0x2p0) extra output 1Result: is: sNaN should be: qNaNFailure: Test: setpayloadsig_towardzero (0x3fffffp0) extra output 1Result: is: sNaN should be: qNaNFailure: Test: setpayloadsig_upward (0x1p0) extra output 1Result: is: sNaN should be: qNaNFailure: Test: setpayloadsig_upward (0x2p0) extra output 1Result: is: sNaN should be: qNaNFailure: Test: setpayloadsig_upward (0x3fffffp0) extra output 1Result: is: sNaN should be: qNaNTest suite completed: 133170 test cases plus 0 tests for exception flags and 0 tests for errno executed. 12 errors occurred.
    and similarly for test-idouble and test-ildouble.

}}}

3.1.17. SH

Build system: gcc-6_6.2.0-5, binutils 2.27.51.20161108, Linux tirpitz 3.16.7-ckt7 #8 PREEMPT (John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>)

FAIL: elf/check-localpltFAIL: elf/tst-tls1FAIL: elf/tst-tls1-staticFAIL: elf/tst-tls2FAIL: elf/tst-tls2-staticFAIL: math/basic-testFAIL: math/test-doubleFAIL: math/test-double-finiteFAIL: math/test-floatFAIL: math/test-float-finiteFAIL: math/test-idoubleFAIL: math/test-ifloatFAIL: math/test-nearbyint-exceptXPASS: nptl/tst-cancel24-staticFAIL: nptl/tst-stack4XPASS: rt/tst-cpuclock2XPASS: rt/tst-cputimer1XPASS: rt/tst-timerFAIL: setjmp/tst-setjmp-fpFAIL: stdio-common/bug22FAIL: stdlib/tst-makecontextFAIL: stdlib/tst-tininessFAIL: string/inl-testerFAIL: string/tester
  • check-localplt fail with
FAIL: elf/check-localpltoriginal exit status 1Extra PLT reference: libc.so: _Unwind_Find_FDEExtra PLT reference: libc.so: _exitExtra PLT reference: libc.so: __errno_location
  • The tls tests (tst-tls{1,2}{-static} fails with:
FAIL: elf/tst-tls1original exit status 1set bar to 1 (LE)get sum of foo and bar (IE)Didn't expect signal from child: got `Segmentation fault'--------------------FAIL: elf/tst-tls1-staticoriginal exit status 1set bar to 1 (LE)get sum of foo and bar (IE)Didn't expect signal from child: got `Segmentation fault'--------------------FAIL: elf/tst-tls2original exit status 1set bar to 1 (LE)get sum of foo and bar (IE)Didn't expect signal from child: got `Segmentation fault'--------------------FAIL: elf/tst-tls2-staticoriginal exit status 1set bar to 1 (LE)get sum of foo and bar (IE)Didn't expect signal from child: got `Segmentation fault'
  • The math tests are mainly due wrong signaling handling where the output expects a qNaN and got a sNaN and missing ULP update.
  • nptl/tst-stack4 failure is mostly likely caused due to 17af5da98cd2c9ec958421ae2108f877e0945451
FAIL: nptl/tst-stack4original exit status 127
  • setjmp/tst-setjmp-fp fails with:
FAIL: setjmp/tst-setjmp-fporiginal exit status 1FAIL: longjmp changed rounding modeFAIL: longjmp changed exceptions
  • stdio-common/bug22 fails with:
original exit status 1ret = -1ret = -1ret = -1ret = -1
  • stdlib/tst-makecontext fails with:
original exit status 1Didn't expect signal from child: got `Aborted'
  • stdlib/tst-tininess fails with:
original exit status 1tininess.h says after rounding, but detected before rounding
  • string/inl-tester fails with
original exit status 1strcmp flunked test 69strcmp flunked test 85strcmp flunked test 101strcmp flunked test 117strcmp flunked test 133strcmp flunked test 149strcmp flunked test 165[many more for strcmp]
  • string/tester fails with:
original exit status 1strcmp flunked test 69strcmp flunked test 85strcmp flunked test 101strcmp flunked test 117strcmp flunked test 133[many more for strcmp]

3.1.18. SPARC (32-bit)

Build system: UltraSparc T5 (Niagara5), gcc 6.3.0, binutils 2.27.90.20170118, and Linux 4.9.2-2. (Adhemerval Zanella). Using --host=sparcv9-linux-gnu

FAIL: intl/tst-gettextFAIL: libio/tst-widetextFAIL: math/test-doubleFAIL: math/test-double-finiteFAIL: math/test-floatFAIL: math/test-idoubleFAIL: math/test-ifloatUNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: stdlib/tst-makecontext
  • intl/tst-gettext fails with
est `gettext' with LANGUAGE settest `gettext' with LANGUAGE settest `dgettext' with LANGUAGE settest `gettext' with LC_ALL settest `gettext' with LC_ALL decidingtest `dgettext' with LC_ALL decidingtest `gettext' with LC_MESSAGES settest `gettext' with LC_MESSAGES decidingtest `dgettext' with LC_MESSAGES decidingtest `dcgettext' with category == LC_MESSAGEStest `dcgettext' with LANGUAGE == LC_TIMEtest `dcgettext' with LANGUAGE == LC_NUMERICtst-gettext.c:214: setlocale (LC_ALL, ""): No such file or directorytest `gettext' with LANG settest `gettext' with LANG settest `dgettext' with LANG set
  • libio/tst-widetext fails with:
locale used: de_DE.UTF-8Timed out: killed the child process
  • math/test-{float,double,ldouble} are due some qNaN/sNaN expectation in fmax/fmin (sparc32 uses assembly implementation) and also for some lrint issues.
  • stdlib/tst-makecontext fails with
tst-makecontext: tst-makecontext.c:73: cf: Assertion `arg.cnt != -1 && arg.cnt < 100' failed.Didn't expect signal from child: got `Aborted'

3.1.19. SPARC (64-bit)

Build system: UltraSparc T5 (Niagara5), gcc 6.3.0, binutils 2.27.90.20170118, and Linux 4.9.2-2. (Adhemerval Zanella)

FAIL: conform/ISO/setjmp.h/conformFAIL: conform/ISO11/setjmp.h/conformFAIL: conform/ISO99/setjmp.h/conformFAIL: conform/POSIX/pthread.h/conformFAIL: conform/POSIX/setjmp.h/conformFAIL: conform/POSIX2008/pthread.h/conformFAIL: conform/POSIX2008/setjmp.h/conformFAIL: conform/UNIX98/pthread.h/conformFAIL: conform/UNIX98/setjmp.h/conformFAIL: conform/XOPEN2K/pthread.h/conformFAIL: conform/XOPEN2K/setjmp.h/conformFAIL: conform/XOPEN2K8/pthread.h/conformFAIL: conform/XOPEN2K8/setjmp.h/conformFAIL: conform/XPG3/setjmp.h/conformFAIL: conform/XPG4/setjmp.h/conformFAIL: intl/tst-gettextFAIL: math/test-doubleFAIL: math/test-floatFAIL: math/test-idoubleFAIL: math/test-ifloatUNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printers
  • conform tests are due the sysdeps/unix/sysv/linux/sparc/bits/setjmp.h jmp_buf definitions.

  • math/test-{float,double,ldouble} are due some qNaN/sNaN expectation in fmax/fmin (sparc64 uses assembly implementation - sysdeps/sparc/sparc64/fpu/s_f{max,min}.S)

3.1.20. TILE-Gx (64-bit and 32-bit)

Build system: TILE-Gx72 running CentOS 6.3, with gcc 4.8.2, binutils 2.21, and Linux 3.10.55. (Chris Metcalf)

FAIL: nptl/tst-cancel24FAIL: nptl/tst-cancel24-staticFAIL: nptl/tst-cancelx16FAIL: nptl/tst-cancelx17FAIL: nptl/tst-cancelx18FAIL: nptl/tst-cancelx20FAIL: nptl/tst-cancelx21FAIL: nptl/tst-cancelx4FAIL: nptl/tst-cancelx5FAIL: nptl/tst-cleanupx0FAIL: nptl/tst-cleanupx1FAIL: nptl/tst-cleanupx3FAIL: nptl/tst-cleanupx4FAIL: nptl/tst-oncex3FAIL: nptl/tst-oncex4FAIL: rt/tst-mqueue8x

The failures above are due to bug 14266

FAIL: nptl/tst-cancel17

This is a segfault, cause unknown.

FAIL: nptl/tst-cancel19

The failure above occurs only on tilegx32: hang, cause unknown.

FAIL: stdlib/tst-setcontext2

This is due to a stack frame variable allocation bug fixed in gcc 5 and newer.

3.1.21. TILEPro

Cross "make" on x86_64 successful with binutils-2.23.1, linux-3.9.2 headers, and gcc 4.7.3. "make check" was not run. (Chris Metcalf)

3.1.22. x86 (32-bit, Linux)

Build system: RHEL7, gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC), GNU ld version 2.27-1.base.el7, 3.10.0-549.el7.x86_64 (Carlos O'Donell)

FAIL: conform/UNIX98/unistd.h/linknamespaceFAIL: conform/XOPEN2K/unistd.h/linknamespaceFAIL: conform/XOPEN2K8/unistd.h/linknamespaceFAIL: conform/XPG3/unistd.h/linknamespaceFAIL: conform/XPG4/unistd.h/linknamespaceXPASS: elf/tst-protected1aXPASS: elf/tst-protected1bUNSUPPORTED: io/tst-open-tmpfileFAIL: math/test-ildoubleFAIL: math/test-ldoubleFAIL: math/test-ldouble-finiteUNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersUNSUPPORTED: nptl/tst-thread_local1UNSUPPORTED: stdlib/tst-quick_exitUNSUPPORTED: stdlib/tst-thread-quick_exitSummary of test results: 8 FAIL 2600 PASS 10 UNSUPPORTED 43 XFAIL 2 XPASS
  • The test-ildouble failures are:
    testing long double (inline functions)Failure: Test: acosh_upward (0x1.07c956p+0)Result: is: 2.46020094112509415887e-01 0xf.becb1097cfff0c80p-6 should be: 2.46020094112509415819e-01 0xf.becb1097cfff0c30p-6 difference: 6.77626357803440271255e-20 0xa.0000000000000000p-67 ulp : 5.0000 max.ulp : 4.0000Maximal error of `acosh_upward' is : 5 ulp accepted: 4 ulpFailure: Test: gamma_upward (-0x2.f00004p+4)Result: is: -1.24326088114809082584e+02 -0xf.8a6f5057970487b0p+3 should be: -1.24326088114809082542e+02 -0xf.8a6f505797048750p+3 difference: 4.16333634234433702659e-17 0xc.0000000000000000p-58 ulp : 6.0000 max.ulp : 5.0000Maximal error of `gamma_upward' is : 6 ulp accepted: 5 ulpFailure: Test: lgamma_upward (-0x2.f00004p+4)Result: is: -1.24326088114809082584e+02 -0xf.8a6f5057970487b0p+3 should be: -1.24326088114809082542e+02 -0xf.8a6f505797048750p+3 difference: 4.16333634234433702659e-17 0xc.0000000000000000p-58 ulp : 6.0000 max.ulp : 5.0000Maximal error of `lgamma_upward' is : 6 ulp accepted: 5 ulpFailure: Test: Real part of: clog10_upward (-0x4.74556ec92eb48p-4 + 0x1.1e7aa1d936f6fp+0 i)Result: is: 6.18931597824831541829e-02 0xf.d83ae91ca35b3d30p-8 should be: 6.18931597824831541558e-02 0xf.d83ae91ca35b3cb0p-8 difference: 2.71050543121376108502e-20 0x8.0000000000000000p-68 ulp : 8.0000 max.ulp : 7.0000Maximal error of real part of: clog10_upward is : 8 ulp accepted: 7 ulpMaximal error of imaginary part of: clog10_upward is : 2 ulp accepted: 3 ulpTest suite completed: 271048 test cases plus 0 tests for exception flags and 0 tests for errno executed. 8 errors occurred.
    Should probably update ULPs.
  • Similarly for test-ldouble
    testing long double (without inline functions)Failure: Test: gamma_upward (-0x2.f00004p+4)Result: is: -1.24326088114809082584e+02 -0xf.8a6f5057970487b0p+3 should be: -1.24326088114809082542e+02 -0xf.8a6f505797048750p+3 difference: 4.16333634234433702659e-17 0xc.0000000000000000p-58 ulp : 6.0000 max.ulp : 5.0000Maximal error of `gamma_upward' is : 6 ulp accepted: 5 ulpFailure: Test: lgamma_upward (-0x2.f00004p+4)Result: is: -1.24326088114809082584e+02 -0xf.8a6f5057970487b0p+3 should be: -1.24326088114809082542e+02 -0xf.8a6f505797048750p+3 difference: 4.16333634234433702659e-17 0xc.0000000000000000p-58 ulp : 6.0000 max.ulp : 5.0000Maximal error of `lgamma_upward' is : 6 ulp accepted: 5 ulpFailure: Test: Real part of: clog10_upward (-0x4.74556ec92eb48p-4 + 0x1.1e7aa1d936f6fp+0 i)Result: is: 6.18931597824831541829e-02 0xf.d83ae91ca35b3d30p-8 should be: 6.18931597824831541558e-02 0xf.d83ae91ca35b3cb0p-8 difference: 2.71050543121376108502e-20 0x8.0000000000000000p-68 ulp : 8.0000 max.ulp : 7.0000Maximal error of real part of: clog10_upward is : 8 ulp accepted: 7 ulpMaximal error of imaginary part of: clog10_upward is : 2 ulp accepted: 3 ulpTest suite completed: 272036 test cases plus 241830 tests for exception flags and 241830 tests for errno executed. 6 errors occurred.
  • And test-ldouble-finite:
    testing long double (finite-math-only)Failure: Test: gamma_upward (-0x2.f00004p+4)Result: is: -1.24326088114809082584e+02 -0xf.8a6f5057970487b0p+3 should be: -1.24326088114809082542e+02 -0xf.8a6f505797048750p+3 difference: 4.16333634234433702659e-17 0xc.0000000000000000p-58 ulp : 6.0000 max.ulp : 5.0000Maximal error of `gamma_upward' is : 6 ulp accepted: 5 ulpFailure: Test: lgamma_upward (-0x2.f00004p+4)Result: is: -1.24326088114809082584e+02 -0xf.8a6f5057970487b0p+3 should be: -1.24326088114809082542e+02 -0xf.8a6f505797048750p+3 difference: 4.16333634234433702659e-17 0xc.0000000000000000p-58 ulp : 6.0000 max.ulp : 5.0000Maximal error of `lgamma_upward' is : 6 ulp accepted: 5 ulpFailure: Test: Real part of: clog10_upward (-0x4.74556ec92eb48p-4 + 0x1.1e7aa1d936f6fp+0 i)Result: is: 6.18931597824831541829e-02 0xf.d83ae91ca35b3d30p-8 should be: 6.18931597824831541558e-02 0xf.d83ae91ca35b3cb0p-8 difference: 2.71050543121376108502e-20 0x8.0000000000000000p-68 ulp : 8.0000 max.ulp : 7.0000Maximal error of real part of: clog10_upward is : 8 ulp accepted: 7 ulpMaximal error of imaginary part of: clog10_upward is : 2 ulp accepted: 3 ulpTest suite completed: 248732 test cases plus 219522 tests for exception flags and 0 tests for errno executed. 6 errors occurred.

3.1.23. x86_64 (64-bit, Linux)

Build system: RHEL7, gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC), binutils version 2.27-1.base.el7, linux 3.10.0-549.el7.x86_64 (Carlos O'Donell)

FAIL: conform/UNIX98/unistd.h/linknamespaceFAIL: conform/XOPEN2K/unistd.h/linknamespaceFAIL: conform/XOPEN2K8/unistd.h/linknamespaceFAIL: conform/XPG3/unistd.h/linknamespaceFAIL: conform/XPG4/unistd.h/linknamespaceUNSUPPORTED: elf/tst-audit10UNSUPPORTED: elf/tst-audit4XPASS: elf/tst-protected1aXPASS: elf/tst-protected1bUNSUPPORTED: io/tst-open-tmpfileUNSUPPORTED: math/test-double-libmvec-alias-avxUNSUPPORTED: math/test-double-libmvec-alias-avx-mainUNSUPPORTED: math/test-double-libmvec-alias-avx2UNSUPPORTED: math/test-double-libmvec-alias-avx2-mainUNSUPPORTED: math/test-double-libmvec-sincos-avxUNSUPPORTED: math/test-double-libmvec-sincos-avx2UNSUPPORTED: math/test-float-libmvec-alias-avxUNSUPPORTED: math/test-float-libmvec-alias-avx-mainUNSUPPORTED: math/test-float-libmvec-alias-avx2UNSUPPORTED: math/test-float-libmvec-alias-avx2-mainUNSUPPORTED: math/test-float-libmvec-sincosf-avxUNSUPPORTED: math/test-float-libmvec-sincosf-avx2UNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: nptl/tst-robust-forkUNSUPPORTED: nptl/tst-thread_local1UNSUPPORTED: stdlib/tst-quick_exitUNSUPPORTED: stdlib/tst-thread-quick_exitSummary of test results: 6 FAIL 2626 PASS 24 UNSUPPORTED 43 XFAIL 2 XPASS
  • The namespace issues are related to --enable-nss-crypt configuration.

  • The lack of AVX and AVX2 on this hardware means that tst-audit10, tst-audit4 and all the *avx* and *avx2* tests are unsupported.
  • The io/tst-open-tmpfile test is unsupported because of a lack of kernel support.
  • The C++ support in RHEL7 lacks thread local so the related thread local tests are disabled (see aarch64 results for an example).
  • The nptl/tst-robust-fork test hangs and needs investigation.

3.1.24. x86_64 (`LXCORE.SYS` emulation)

The test suite has many failures. Problematic are:

The results reported below are for Windows version 10.0.15063. In earlier builds, test sunrpc/tst-xdrmem2 caused the Windows kernel to crash.

UNSUPPORTED: elf/tst-audit10FAIL: elf/tst-env-setuidFAIL: elf/tst-env-setuid-tunablesFAIL: elf/tst-execstackFAIL: elf/tst-execstack-neededFAIL: elf/tst-execstack-progFAIL: gmon/tst-sprofilFAIL: io/tst-futimesatUNSUPPORTED: io/tst-open-tmpfileFAIL: io/tst-renameatFAIL: libio/tst-mmap2-eofsyncFAIL: malloc/tst-malloc-thread-failFAIL: malloc/tst-mallocfork2FAIL: math/test-doubleFAIL: math/test-double-finiteFAIL: math/test-fenvFAIL: math/test-fenv-x87FAIL: math/test-fpucwFAIL: math/test-fpucw-ieeeFAIL: math/test-fpucw-ieee-staticFAIL: math/test-fpucw-staticFAIL: math/test-idoubleFAIL: math/test-ildoubleFAIL: math/test-ldoubleFAIL: math/test-ldouble-finiteFAIL: math/test-miscFAIL: misc/tst-clone2FAIL: misc/tst-personalityFAIL: misc/tst-preadvwritevFAIL: misc/tst-preadvwritev64FAIL: misc/tst-sync_file_rangeUNSUPPORTED: nptl/test-cond-printersUNSUPPORTED: nptl/test-condattr-printersUNSUPPORTED: nptl/test-mutex-printersUNSUPPORTED: nptl/test-mutexattr-printersUNSUPPORTED: nptl/test-rwlock-printersUNSUPPORTED: nptl/test-rwlockattr-printersFAIL: nptl/tst-align-cloneFAIL: nptl/tst-basic7FAIL: nptl/tst-cancel16FAIL: nptl/tst-cancel18FAIL: nptl/tst-cancel4FAIL: nptl/tst-cancel4_1FAIL: nptl/tst-cancel4_2FAIL: nptl/tst-cancel5FAIL: nptl/tst-cancelx16FAIL: nptl/tst-cancelx18FAIL: nptl/tst-cancelx4FAIL: nptl/tst-cancelx5FAIL: nptl/tst-cond-exceptFAIL: nptl/tst-cond24FAIL: nptl/tst-cond25FAIL: nptl/tst-exec1FAIL: nptl/tst-exec3FAIL: nptl/tst-exec4FAIL: nptl/tst-exec5FAIL: nptl/tst-execstackFAIL: nptl/tst-flock2FAIL: nptl/tst-getpid1FAIL: nptl/tst-robust-forkFAIL: nptl/tst-robust1FAIL: nptl/tst-robust2FAIL: nptl/tst-robust3FAIL: nptl/tst-robust4FAIL: nptl/tst-robust5FAIL: nptl/tst-robust6FAIL: nptl/tst-robust7FAIL: nptl/tst-robust8FAIL: nptl/tst-robust9FAIL: nptl/tst-signal3FAIL: posix/tst-niceFAIL: posix/tst-posix_fadviseFAIL: posix/tst-posix_fadvise64FAIL: posix/tst-spawnFAIL: posix/tst-spawn-staticFAIL: posix/tst-spawn2FAIL: posix/tst-spawn3FAIL: resolv/tst-resolv-searchFAIL: rt/tst-aio4FAIL: rt/tst-clock2FAIL: rt/tst-clock_nanosleepFAIL: rt/tst-cpuclock1FAIL: rt/tst-cpuclock2FAIL: rt/tst-cputimer3FAIL: rt/tst-timer4FAIL: rt/tst-timer5FAIL: stdio-common/check-installed-headers-cxxFAIL: stdio-common/tst-vfprintf-width-precFAIL: stdio-common/tst-vfprintf-width-prec-memUNSUPPORTED: stdlib/tst-getrandomFAIL: stdlib/tst-secure-getenvFAIL: stdlib/tst-strtod-roundUNSUPPORTED: sysvipc/test-sysvmsgFAIL: sysvipc/test-sysvsemFAIL: sysvipc/test-sysvshmFAIL: wcsmbs/tst-wcstod-round

3.1.25. x86_64 (x32, Linux)

Build system: gcc version 6.3.1, GNU Binutils version 2.28.51, Linux 4.9.6 (H.J. Lu)

FAIL: elf/tst-leaks1-memFAIL: nptl/tst-setuid2

* elf/tst-leaks1-mem failure is due to bug 14681.

3.1.26. x86 (32-bit, Hurd)

3.2. Packaging Changes

3.2.1. sys/types.h and sys/sysmacros.h

The inclusion of sys/sysmacros.h by sys/types.h is deprecated. Using the macros major, minor, or makedev without having directly included sys/sysmacros.h will trigger compiler warnings.

These macros are not part of POSIX nor XSI, and their names frequently collide with user code; see for instance glibc bug 19239 and Red Hat bug 130601. stdlib.h includes sys/types.h under _GNU_SOURCE, and C++ code presently cannot avoid being compiled under _GNU_SOURCE, exacerbating the problem.

Most programs do not need these macros. Programs that wish to use their names for their own purposes should #undef all three after including all system headers:

 1 #include <sys/types.h> 2 #include <stdio.h> 3 /* ... more headers ... */ 4  5 /* Some systems provide macros 'major', 'minor', 'makedev' in <sys/types.h>, which we don't want. */ 6 #undef major 7 #undef minor 8 #undef makedev 9 

Programs that do need these macros should arrange to get them either from sys/types.h or sys/sysmacros.h, because on BSD-derived systems, sys/sysmacros.h does not exist:

 1 #include <sys/types.h> 2 #ifdef __GLIBC__ 3 #include <sys/sysmacros.h> 4 #endif 5 

In order to decide when sys/types.h can stop providing these macros altogether, we would appreciate reports of software affected by this deprecation.

Applications wishing to be compatible with older pre-2.25 glibc's may safely include sys/sysmacros.h starting with glibc 2.0 from 1997, when the header first appeared.

3.2.2. res_gethostbyaddr etc. compat symbols

glibc 2.25 turns res_gethostbyaddr, res_gethostbyname and other functions returning structhostent results into compatibility symbols. These functions have not been included in the installed <resolv.h> header for a very long time, so applications should not access them. There implementations are also not updated for new DNS developments. There seem to be bogus autoconf checks for these functions (in ekiga, for example). If applications use these functions to avoid endless loops in host name lookups, they need to use __nss_configure_lookup instead.

3.2.3. Calls to getpid are no longer cached

The PID cache used by glibc has been removed. In certain scenarios the cache was not 100% reliable and because of that it was deemed safer to remove the cache than to potentially return a wrong answer.

Applications performing getpid() calls in a loop will see the worst case performance degradation as the library call will perform a system call at each invocation. Such application uses were known to exist at least in OpenSSL (fork()-based PRNG invalidation), but supporting the performance of that specific invalidation mechanism was not judged to have sufficient value against immediate and long-term benefits of removing the cache.

Functional reasons exist for the PID cache removal including problems with PID namespaces, interoperability with raw system calls (BZ#17214, Chrome: Issue 800183004), and improvements to spawn (BZ#19957). Performance is actually increased in pthread_create() with the removal of the cache since the implementation no longer needs to perform an invalidation step.

Applications performing getpid() in a loop that need to do some level of fork()-based invalidation can instead use pthread_atfork() to register handlers to handle the invalidation. There is work-in-progress to make pthread_atfork() available to applications that do not link against libpthread.so (Provide pthread_atfork() without libpthread.so).

Other kinds of invalidation are not supported and the glibc community will actively look at a kernel assisted mechanism for state management across fork(), vfork(), clone() and other interfaces which can benefit from such semantics. It is the same type of solution required for crypto PRNG reset across such API calls.

Release/2.25 - glibc wiki (2024)
Top Articles
Latest Posts
Article information

Author: Arline Emard IV

Last Updated:

Views: 6073

Rating: 4.1 / 5 (72 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Arline Emard IV

Birthday: 1996-07-10

Address: 8912 Hintz Shore, West Louie, AZ 69363-0747

Phone: +13454700762376

Job: Administration Technician

Hobby: Paintball, Horseback riding, Cycling, Running, Macrame, Playing musical instruments, Soapmaking

Introduction: My name is Arline Emard IV, I am a cheerful, gorgeous, colorful, joyous, excited, super, inquisitive person who loves writing and wants to share my knowledge and understanding with you.