Release/2.21
Contents
1. Current status
The release branch of glibc-2.21 is maintained by Carlos O'Donell and its current release is 2.21 which was tagged February 6th 2015. There are no immediate plans for the next release.
The ref structure of this branch is:
- release/2.21/master: main branch
- glibc-2.21.N: revision releases tagged out of release/2.21/master
These people are interested in contents and further revisions tagged on the branch:
- PERSON1
- PERSON2
- ...
The general policies for release branches apply to this branch. Do you think a certain bugfix should be included in this branch?
- Is the fix committed in master? It has to be, unless it's not applicable to master (e.g. code has been rewritten meantime).
- Do you have commit permissions? If so, go ahead if you think it's reasonably safe. break;
- 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;
- Add the glibc_2.21 keyword to the appropriate bug report.
- 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.21/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?
Make -Wundef into an error. Completed by Joseph's turning on of -Werror
Finish -Wundef cleanup: no -Wundef warnings in build on any supported configuration. Core issues finished as of 3b566046c3e8cb252f4c0ab7b6041fef5098f1a5
Transactional Lock Elision for PowerPC:
Fix semaphore destruction (BZ #12674) https://sourceware.org/ml/libc-alpha/2014-12/msg00155.html
powerpc64 optimized string implementations:
Fix problems with unaligned semaphores on ILP32 platforms with 64-bit atomics that require greater alignment than for long int (done for MIPS n32 and tilegx32).
2.2. Desirable this release?
Futex clean-up https://sourceware.org/ml/libc-alpha/2014-12/msg00134.html
2.3. Postpone to next release (2.22)
New POSIX-compliance fmemopen
- Intel vecotorized libm - libmvec
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).
On some systems, a race condition may cause nptl/tst-cancel7 and nptl/tst-cancelx7 to fail (bug 14232).
- 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.
On systems with Linux kernels before September 2011, rt/tst-cpuclock2 fails (https://sourceware.org/ml/libc-alpha/2012-02/msg00468.html). But this failure has also been reported with more recent kernels, so that kernel fix seems not to have been sufficient.
rt/tst-shm fails if /dev/shm is not mounted or does not have write permissions for the user running the tests.
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).
elf/vismain fails to build with new binutils; see bug 17711 and branch hjl/pr17711 (this terminates the test run early, so requiring make -k check to be used).
elf/check-localplt fails with new binutils; see bug 16512 and https://sourceware.org/ml/libc-alpha/2014-01/msg00626.html.
3.1.2. AArch64
LP64 LE
Build system: Linux version 3.10.55.0-1-linaro-lt-vexpress64, gcc-4.9.3 20141121, binutils 2.25.51.20141124.
FAIL: debug/tst-backtrace5 FAIL: debug/tst-backtrace6 FAIL: nptl/tst-stack4 Summary of test results: 3 FAIL 2165 PASS 198 XFAIL 4 XPASS
3.1.3. Alpha
Build system: Linux 3.16.0, gcc gentoo 4.9.2 p1.0, binutils 2.24.51, qemu 2.2.50
FAIL: conform/POSIX2008/termios.h/conform FAIL: conform/UNIX98/termios.h/conform FAIL: crypt/badsalttest FAIL: debug/tst-backtrace5 FAIL: debug/tst-backtrace6 FAIL: elf/check-localplt FAIL: math/atest-sincos FAIL: math/test-fenv-return FAIL: math/test-float Summary of test results: 9 FAIL 2127 PASS 128 XFAIL 74 XPASS
3.1.4. ARM
Build system: (soft-float) GCC 4.9.3 20150124 (prerelease), binutils 2.25.51.20150124, Linux 2.6.34.1 (Joseph Myers)
FAIL: elf/check-localplt FAIL: io/ftwtest FAIL: math/basic-test FAIL: nptl/tst-cancel7 FAIL: nptl/tst-cancelx7 FAIL: nptl/tst-mutexpi9 FAIL: nptl/tst-stack4 FAIL: stdio-common/bug22 FAIL: stdio-common/test-vfprintf FAIL: stdio-common/tst-sprintf
On soft-float systems, math/basic-test fails because of GCC bug 59833.
- Cause of nptl/tst-mutexpi9 and nptl/tst-stack4 failures unknown.
- stdio-common/tst-sprintf failure possibly arising from limited memory available.
3.1.5. HPPA
Build system: Gentoo hppa-linux-gnu, gcc version 4.6.3 (Gentoo 4.6.3 p1.13, pie-0.5.2), Binutils (Gentoo 2.24 p1.4) 2.24, Linux 3.13.0 (Carlos O'Donell)
FAIL: conform/ISO11/stdalign.h/linknamespace FAIL: conform/ISO11/stddef.h/conform FAIL: conform/ISO11/stdnoreturn.h/linknamespace FAIL: conform/ISO11/tgmath.h/conform FAIL: conform/POSIX/aio.h/conform FAIL: conform/POSIX/mqueue.h/conform FAIL: conform/POSIX/pthread.h/conform FAIL: conform/POSIX/regex.h/conform FAIL: conform/POSIX/semaphore.h/conform FAIL: conform/POSIX/signal.h/conform FAIL: conform/POSIX/sys/mman.h/conform FAIL: conform/POSIX/sys/types.h/conform FAIL: conform/POSIX2008/aio.h/conform FAIL: conform/POSIX2008/mqueue.h/conform FAIL: conform/POSIX2008/pthread.h/conform FAIL: conform/POSIX2008/regex.h/conform FAIL: conform/POSIX2008/semaphore.h/conform FAIL: conform/POSIX2008/spawn.h/conform FAIL: conform/POSIX2008/sys/mman.h/conform FAIL: conform/POSIX2008/sys/types.h/conform FAIL: conform/UNIX98/aio.h/conform FAIL: conform/UNIX98/ftw.h/conform FAIL: conform/UNIX98/mqueue.h/conform FAIL: conform/UNIX98/pthread.h/conform FAIL: conform/UNIX98/regex.h/conform FAIL: conform/UNIX98/semaphore.h/conform FAIL: conform/UNIX98/sys/mman.h/conform FAIL: conform/UNIX98/sys/types.h/conform FAIL: conform/UNIX98/sys/uio.h/conform FAIL: conform/XOPEN2K/ftw.h/conform FAIL: conform/XOPEN2K/pthread.h/conform FAIL: conform/XOPEN2K/regex.h/conform FAIL: conform/XOPEN2K/spawn.h/conform FAIL: conform/XOPEN2K/stdlib.h/conform FAIL: conform/XOPEN2K/sys/mman.h/conform FAIL: conform/XOPEN2K/sys/types.h/conform FAIL: conform/XOPEN2K/sys/uio.h/conform FAIL: conform/XOPEN2K8/aio.h/conform FAIL: conform/XOPEN2K8/ftw.h/conform FAIL: conform/XOPEN2K8/mqueue.h/conform FAIL: conform/XOPEN2K8/pthread.h/conform FAIL: conform/XOPEN2K8/regex.h/conform FAIL: conform/XOPEN2K8/semaphore.h/conform FAIL: conform/XOPEN2K8/spawn.h/conform FAIL: conform/XOPEN2K8/stdlib.h/conform FAIL: conform/XOPEN2K8/sys/mman.h/conform FAIL: conform/XOPEN2K8/sys/types.h/conform FAIL: conform/XOPEN2K8/sys/uio.h/conform FAIL: conform/XPG4/sys/mman.h/conform FAIL: debug/tst-backtrace2 FAIL: debug/tst-backtrace3 FAIL: debug/tst-backtrace4 FAIL: debug/tst-backtrace5 FAIL: debug/tst-backtrace6 FAIL: debug/tst-longjmp_chk2 FAIL: elf/check-execstack FAIL: elf/check-localplt FAIL: elf/check-textrel FAIL: elf/tst-addr1 FAIL: elf/tst-audit2 FAIL: math/test-double FAIL: math/test-fenv-return FAIL: math/test-float FAIL: math/test-idouble FAIL: math/test-ifloat FAIL: nptl/tst-attr3 FAIL: nptl/tst-cancel11 FAIL: nptl/tst-cancel2 FAIL: nptl/tst-cancel20 FAIL: nptl/tst-cancel21 FAIL: nptl/tst-cancel21-static FAIL: nptl/tst-cancel22 FAIL: nptl/tst-cancel23 FAIL: nptl/tst-cancel25 FAIL: nptl/tst-cancel3 FAIL: nptl/tst-cancel4 FAIL: nptl/tst-cancel5 FAIL: nptl/tst-cancel6 FAIL: nptl/tst-cancelx11 FAIL: nptl/tst-cancelx2 FAIL: nptl/tst-cancelx20 FAIL: nptl/tst-cancelx21 FAIL: nptl/tst-cancelx3 FAIL: nptl/tst-cancelx4 FAIL: nptl/tst-cancelx5 FAIL: nptl/tst-cancelx6 FAIL: nptl/tst-cleanup4 FAIL: nptl/tst-cleanupx4 FAIL: nptl/tst-cond21 FAIL: nptl/tst-fini1 FAIL: nptl/tst-key3 FAIL: nptl/tst-sem14 FAIL: nptl/tst-signal3 FAIL: nptl/tst-stack1 FAIL: posix/tst-getcpu FAIL: rt/tst-aio64 FAIL: rt/tst-mqueue8x FAIL: stdlib/tst-makecontext Summary of test results: 98 FAIL 2034 PASS 1 UNRESOLVED 201 XFAIL 1 XPASS
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-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.7.4 p1.1, pie-0.5.5), GNU assembler (Gentoo 2.24 p1.4), Linux 3.14.14-gentoo. (Mike Frysinger)
FAIL: conform/POSIX2008/mqueue.h/conform FAIL: conform/POSIX2008/sys/stat.h/conform FAIL: conform/POSIX/signal.h/conform FAIL: conform/POSIX/sys/stat.h/conform FAIL: conform/POSIX/sys/wait.h/conform FAIL: conform/UNIX98/ftw.h/conform FAIL: conform/UNIX98/mqueue.h/conform FAIL: conform/UNIX98/sys/stat.h/conform FAIL: conform/XOPEN2K8/ftw.h/conform FAIL: conform/XOPEN2K8/mqueue.h/conform FAIL: conform/XOPEN2K8/sys/stat.h/conform FAIL: conform/XOPEN2K/ftw.h/conform FAIL: conform/XOPEN2K/sys/stat.h/conform FAIL: conform/XPG4/ftw.h/conform FAIL: debug/tst-backtrace4 FAIL: intl/tst-gettext2 FAIL: math/test-double FAIL: math/test-fenv-return FAIL: math/test-float FAIL: math/test-idouble FAIL: math/test-ifloat FAIL: math/test-ildoubl FAIL: math/test-ldouble FAIL: nptl/check-abi-libpthread FAIL: rt/tst-cpuclock2 FAIL: stdio-common/tst-long-dbl-fphex FAIL: stdlib/tst-makecontext3 FAIL: stdlib/tst-strtod6 FAIL: time/bug-getdate1
tst-backtrace4 is known to fail on IA64 due to limited backtrace output; mailing list thread
- tst-cpuclock2 seems to be flaky as it passes normally, but sometimes fails under load
makecontext is known to be limited on IA64 and the testsuite runs up against that; bug 14250
- bug-getdate1 seems to be flaky as it passes normally, but sometimes fails under load
- all the rest are math related and probably match some open bugs on the topic, or need some baselines updated
3.1.7. M68K
Build system: ARAnyM 1.0.2, openSUSE 13.2, gcc48-4.8.3+r218481, binutils-2.25.0, Linux 3.11.6-21-default (Andreas Schwab)
FAIL: math/basic-test FAIL: math/test-double FAIL: math/test-fenv FAIL: math/test-float FAIL: math/test-idouble FAIL: math/test-ifloat FAIL: math/test-ildoubl FAIL: math/test-ldouble FAIL: math/test-snan FAIL: nptl/tst-sem14 FAIL: nptl/tst-tls3 FAIL: posix/tst-getaddrinfo4 FAIL: posix/tst-getaddrinfo5 FAIL: stdio-common/bug22 FAIL: stdio-common/tstdiomisc
3.1.8. MicroBlaze
3.1.9. MIPS
Build system: (soft-float) GCC 4.9.3 20150124 (prerelease), binutils 2.25.51.20150124, Linux 2.6.35.9 (Joseph Myers) - the following failures apply to both BE and LE, all of o32, n32 and n64, both hard-float and soft-float. Soft-float with GCC 4.9 and current binutils requires a GCC patch backport.
FAIL: elf/check-execstack FAIL: elf/check-localplt FAIL: elf/tst-audit1 FAIL: elf/tst-audit2 FAIL: elf/tst-audit8 FAIL: elf/tst-audit9 FAIL: io/ftwtest FAIL: stdio-common/bug22 FAIL: stdio-common/test-vfprintf
Additional failures seen for hard-float o32:
FAIL: math/test-double FAIL: math/test-float
Additional failure seen for soft-float:
FAIL: math/test-fenv
Additional failure seen for hard-float n64:
FAIL: malloc/tst-mallocfork
Additional failure seen for soft-float n32:
FAIL: nptl/tst-stack4
- On soft-float MIPS systems, there is no support for floating-point exceptions and rounding modes, causing math/test-fenv to fail.
For hard-float MIPS, o32 ABI (maybe only some architecture variants), math/test-float and math/test-double fail with missing "invalid" exceptions; see bug 16399.
- MIPS GCC does not use PT_GNU_STACK markers (this is a GCC issue), causing elf/check-execstack to fail (the relevant kernel support went in around February 2010).
Peculiarities of MIPS ELF cause elf/tst-audit1, elf/tst-audit2, elf/tst-audit8, elf/tst-audit9 and elf/check-localplt to fail. For the first two, see bug 2981.
- The cause of the malloc/tst-mallocfork and nptl/tst-stack4 failures is unknown, likely intermittent.
3.1.10. Nios II
Build system: GCC 4.9.1, binutils 2.24.51.20140217, Linux 3.19 prerelease (Chung-Lin Tang)
FAIL: conform/symlist-stdlibs-POSIX FAIL: conform/symlist-stdlibs-POSIX2008 FAIL: conform/symlist-stdlibs-UNIX98 FAIL: conform/symlist-stdlibs-XOPEN2K FAIL: conform/symlist-stdlibs-XOPEN2K8 FAIL: elf/tst-rtld-load-self FAIL: elf/tst-tls13 FAIL: iconvdata/tst-tables FAIL: io/ftwtest FAIL: libio/tst-memstream2 FAIL: libio/tst-wmemstream2 FAIL: localedata/cs_CZ.UTF-8/LC_CTYPE FAIL: localedata/en_GB.UTF-8/LC_CTYPE FAIL: localedata/tst-digits FAIL: localedata/tst-locale FAIL: math/atest-exp2 FAIL: math/atest-sincos FAIL: nptl/tst-cancel7 FAIL: nptl/tst-cancelx7 FAIL: nptl/tst-eintr1 FAIL: nptl/tst-stack4 FAIL: posix/bug-regex35 FAIL: posix/tst-rxspencer FAIL: stdio-common/bug22 FAIL: stdio-common/test-vfprintf FAIL: stdio-common/tst-sprintf FAIL: stdlib/tst-strtod4 FAIL: stdlib/tst-strtod5 FAIL: string/test-strcasecmp FAIL: string/test-strncasecmp FAIL: build stdlib/bug-getcontext.o FAIL: build sunrpc/tst-xdrmem FAIL: build sunrpc/tst-xdrmem2
- elf/tst-rtld-load-self, and the sunrpc build fails are test environment issues.
- stdlib/bug-getcontext.o build fail due to -Werror and a port with no FPU exceptions
- libio and math fails are timeouts, manually verified to pass.
- nptl/tst-eintr1 intermittently passes/fails
- others yet to be investigated, several known for a while.
3.1.11. PowerPC (32-bit soft-float)
Build system: (soft-float) GCC 4.9.3 20150124 (prerelease), binutils 2.25.51.20150124, Linux 2.6.34.1 (Joseph Myers)
FAIL: elf/check-localplt FAIL: io/ftwtest FAIL: math/test-double FAIL: math/test-float FAIL: math/test-ildoubl FAIL: math/test-ldouble FAIL: rt/tst-cpuclock2 FAIL: stdio-common/bug22
test-double, test-float fail because of GCC bug 64811 causing __gcc_qadd in libgcc to generate spurious floating-point exceptions.
- test-ildoubl and test-ldouble fail because of IBM long double issues.
3.1.12. PowerPC (32-bit hard-float)
Build system: Fedora 19 (POWER8), gcc version 4.9.3 (gcc-4_9-branch@217636), GNU Binutils 2.24.0.20141017 (cd3813a8c9e59c), Kernel 3.17.0-rc6 (Adhemerval Zanella)
Config options: --with-cpu=power4 --host=powerpc-linux --target=powerpc-linux --build=powerpc-linux
FAIL: math/test-ildoubl FAIL: math/test-ldouble FAIL: rt/tst-cpuclock2
Test math/test-ldouble:
Failure: Test: yn_upward (42, 0x8p-972) Result: is: -1.79769313486231570814e+308 -0x1.fffffffffffff0000000p+1023 should be: -1.79769313486231580793e+308 -0x1.fffffffffffff7ffffffp+1023 difference: 1.79769313486231550857e+308 0x1.ffffffffffffe0000000p+1023 ulp : 81129638414606663681390495662080.0000 max.ulp : 9.0000 Test suite completed: 73809 test cases plus 71362 tests for exception flags and 71362 tests for errno executed. 3050 errors occurred.
It fails due multiple IBM ldouble issues: GCC bug 59666, https://gcc.gnu.org/ml/gcc-patches/2014-01/msg00157.html
Test rt/tst-cpuclock2.out:
live thread clock fff8a8ce resolution 0.000000001 live thread before sleep => 0.000064232 self thread before sleep => 0.000191888 live thread after sleep => 0.500109582 self thread after sleep => 0.000207340 absolute clock_nanosleep on PROCESS_CPUTIME_ID 18446744073709544290 past target (outside reasonable range) absolute clock_nanosleep on PROCESS_CPUTIME_ID slept 99992674 (outside reasonable range)
This is most likely a kernel issue, since I do not see it on powerpc64le.
3.1.13. PowerPC (64-bit hard-float)
Build system: Fedora 19 (POWER8), gcc version 4.9.3 (gcc-4_9-branch@217636), GNU Binutils 2.24.0.20141017 (cd3813a8c9e59c), Kernel 3.17.0-rc6 (Adhemerval Zanella)
Config options: --with-cpu=power4 --host=powerpc64-linux --target=powerpc64-linux --build=powerpc64-linux
FAIL: math/test-ildoubl FAIL: math/test-ldouble FAIL: rt/tst-cpuclock2
Test math/test-ldouble:
Failure: Test: yn_upward (42, 0x8p-972) Result: is: -1.79769313486231570814e+308 -0x1.fffffffffffff0000000p+1023 should be: -1.79769313486231580793e+308 -0x1.fffffffffffff7ffffffp+1023 difference: 1.79769313486231550857e+308 0x1.ffffffffffffe0000000p+1023 ulp : 81129638414606663681390495662080.0000 max.ulp : 9.0000 Test suite completed: 73809 test cases plus 71362 tests for exception flags and 71362 tests for errno executed. 3050 errors occurred.
It fails due multiple IBM ldouble issues: GCC bug 59666, https://gcc.gnu.org/ml/gcc-patches/2014-01/msg00157.html
Test rt/tst-cpuclock2.out:
live thread clock fff8a8ce resolution 0.000000001 live thread before sleep => 0.000064232 self thread before sleep => 0.000191888 live thread after sleep => 0.500109582 self thread after sleep => 0.000207340 absolute clock_nanosleep on PROCESS_CPUTIME_ID 18446744073709544290 past target (outside reasonable range) absolute clock_nanosleep on PROCESS_CPUTIME_ID slept 99992674 (outside reasonable range)
This is most likely a kernel issue, since I do not see it on powerpc64le.
Build system: RHEL7 (POWER7), gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC), Binutils 2.23.52.0.1-30.el7 20130226, Kernel 3.10.0-224.el7.ppc64 (Carlos O'Donell)
FAIL: math/test-double FAIL: math/test-float FAIL: math/test-ildoubl FAIL: math/test-ldouble Summary of test results: 4 FAIL 2167 PASS 199 XFAIL 3 XPASS
Similar failures to ppc64le below.
3.1.14. PowerPC (64-bit hard-float Little-Endian)
Build system: RHEL 7.1 Build Box, gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC), GNU assembler version 2.23.52.0.1 (ppc64le-redhat-linux) using BFD version version 2.23.52.0.1-26.ael7a 20130226, Kernel 3.10.0-153.el7.ppc64le5.ppc64le (Carlos O'Donell)
FAIL: math/test-double FAIL: math/test-float FAIL: math/test-ildoubl FAIL: math/test-ldouble FAIL: posix/tst-chmod FAIL: posix/tst-getaddrinfo5 FAIL: rt/tst-cpuclock2 Summary of test results: 7 FAIL 2164 PASS 129 XFAIL 73 XPASS
Test math/test-double:
testing double (without inline functions) Failure: nexttoward (qNaN, 1.1): Exception "Inexact" set Failure: nexttoward_downward (qNaN, 1.1): Exception "Inexact" set Failure: nexttoward_towardzero (qNaN, 1.1): Exception "Inexact" set Failure: nexttoward_upward (qNaN, 1.1): Exception "Inexact" set Test suite completed: 51320 test cases plus 49465 tests for exception flags and 49465 tests for errno executed. 4 errors occurred.
Test math/test-float:
testing float (without inline functions) Failure: nexttoward (qNaN, 1.1): Exception "Inexact" set Failure: nexttoward_downward (qNaN, 1.1): Exception "Inexact" set Failure: nexttoward_towardzero (qNaN, 1.1): Exception "Inexact" set Failure: nexttoward_upward (qNaN, 1.1): Exception "Inexact" set Test suite completed: 33141 test cases plus 31458 tests for exception flags and 31458 tests for errno executed. 4 errors occurred.
Test math/test-ildoubl:
... Failure: Test: yn_upward (42, 0x8p-972) Result: is: -1.79769313486231570814e+308 -0x1.fffffffffffff0000000p+1023 should be: -1.79769313486231580793e+308 -0x1.fffffffffffff7ffffffp+1023 difference: 1.79769313486231550857e+308 0x1.ffffffffffffe0000000p+1023 ulp : 81129638414606663681390495662080.0000 max.ulp : 9.0000 Test suite completed: 73495 test cases plus 71036 tests for exception flags and 71036 tests for errno executed. 1648 errors occurred.
A lot of failures here, mostly what appear to be precision issues.
Similarly for math/test-idouble:
Failure: Test: yn_upward (42, 0x8p-972) Result: is: -1.79769313486231570814e+308 -0x1.fffffffffffff0000000p+1023 should be: -1.79769313486231580793e+308 -0x1.fffffffffffff7ffffffp+1023 difference: 1.79769313486231550857e+308 0x1.ffffffffffffe0000000p+1023 ulp : 81129638414606663681390495662080.0000 max.ulp : 9.0000 Test suite completed: 73897 test cases plus 71438 tests for exception flags and 71438 tests for errno executed. 3074 errors occurred.
Test posix/tst-chmod
file mode not changed to 0777 | S_ISUID | S_ISGID
Looks like a kernel bug.
Test posix/tst-getaddrinfo5
resolving "localhost." failed, skipping this hostname resolving "www.gnu.org." worked, proceeding to test resolving "www.gnu.org.." worked, test failed
Looks like a real bug.
Lastly rt/tst-cpuclock2.out is the ever present intermittent test that fails due to timing. That test needs review.
e.g.
live thread clock fffffffffffe50de resolution 0.000000001 live thread before sleep => 0.001486400 self thread before sleep => 0.001844110 live thread after sleep => 0.501535910 self thread after sleep => 0.001876460 absolute clock_nanosleep on process 18446744073709550418 past target (outside reasonable range) absolute clock_nanosleep on process slept 99998802 (outside reasonable range) absolute clock_nanosleep on PROCESS_CPUTIME_ID 18446744073709543220 past target (outside reasonable range) absolute clock_nanosleep on PROCESS_CPUTIME_ID slept 99991604 (outside reasonable range)
3.1.15. S/390 (32-bit)
Build system: s390 GNU/Linux, gcc version 4.9.2 (GCC), (GNU Binutils) 2.24, Linux 3.14.3 (Stefan Liebler)
Summary of tests.sum results: 2165 PASS 199 XFAIL 3 XPASS FAIL: nptl/tst-setuid2 Summary of xtests.sum results: 1 FAIL 15 PASS
nptl/tst-setuid2 passes with root privileges.
3.1.16. S/390 (64-bit)
Build system: s390x GNU/Linux, gcc version 4.9.2 (GCC), (GNU Binutils) 2.24, Linux 3.14.3 (Stefan Liebler)
Summary of test results: 2166 PASS 194 XFAIL 8 XPASS FAIL: nptl/tst-setuid2 Summary of test results for extra tests: 1 FAIL 15 PASS
nptl/tst-setuid2 passes with root privileges.
Build system: RHEL 7.0, gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC), (GNU Binutils) 2.24, Linux 3.10.0-123.el7.s390x (Carlos O'Donell)
Summary of test results: 2165 PASS 1 UNRESOLVED 198 XFAIL 4 XPASS
3.1.17. SH
Build system: Fedora 20, cross gcc 4.6.4, BFD version 2.23.52, Linux 3.18.0 (Kazumoto Kojima)
FAIL: conform/ISO11/stdalign.h/linknamespace FAIL: conform/ISO11/stdnoreturn.h/linknamespace FAIL: crypt/sha256c-test FAIL: csu/tst-atomic FAIL: csu/tst-atomic-long FAIL: elf/check-localplt FAIL: elf/tst-tls13 FAIL: iconvdata/mtrace-tst-loading FAIL: iconvdata/tst-loading FAIL: io/ftwtest FAIL: libio/tst-fopenloc FAIL: libio/tst-fopenloc-cmp FAIL: libio/tst-fopenloc-mem FAIL: libio/tst-memstream2 FAIL: libio/tst-wmemstream2 FAIL: localedata/mtrace-tst-leaks FAIL: localedata/tst-leaks FAIL: localedata/tst-setlocale3 FAIL: malloc/tst-calloc FAIL: malloc/tst-trim1 FAIL: math/atest-exp2 FAIL: math/atest-sincos FAIL: math/basic-test FAIL: math/bug-nextafter FAIL: math/bug-nexttoward FAIL: math/test-double FAIL: math/test-fenv FAIL: math/test-float FAIL: math/test-idouble FAIL: math/test-ifloat FAIL: math/test-misc FAIL: nptl/tst-stack4 FAIL: nptl/tst-umask1 FAIL: nss/test-netdb FAIL: posix/bug-regex24 FAIL: posix/tst-fnmatch FAIL: posix/tst-fnmatch-mem FAIL: posix/tst-getaddrinfo5 FAIL: posix/tst-getcpu FAIL: posix/tst-regex2 FAIL: setjmp/tst-setjmp-fp FAIL: stdio-common/bug22 FAIL: stdio-common/test-vfprintf FAIL: stdio-common/tst-sprintf FAIL: stdlib/tst-strtod-overflow FAIL: string/stratcliff FAIL: wcsmbs/wcsatcliff Summary of test results: 47 FAIL 1693 PASS 78 XFAIL
3.1.18. SPARC (32-bit)
3.1.19. SPARC (64-bit)
3.1.20. TILE-Gx (64- and 32-bit)
Build system: CentOS 6.3, but with gcc 4.8.2, binutils 2.25, kernel 3.10.53. (Chris Metcalf)
FAIL: nptl/tst-cancel24 FAIL: nptl/tst-cancel24-static FAIL: nptl/tst-cancelx16 FAIL: nptl/tst-cancelx17 FAIL: nptl/tst-cancelx18 FAIL: nptl/tst-cancelx20 FAIL: nptl/tst-cancelx21 FAIL: nptl/tst-cancelx4 FAIL: nptl/tst-cancelx5 FAIL: nptl/tst-cleanupx0 FAIL: nptl/tst-cleanupx1 FAIL: nptl/tst-cleanupx3 FAIL: nptl/tst-cleanupx4 FAIL: nptl/tst-oncex3 FAIL: nptl/tst-oncex4 FAIL: rt/tst-mqueue8x
The failures are due to bug 14266
3.1.21. TILEPro
3.1.22. x86 (32-bit, Linux)
Build system: Fedora 21 Build Box, gcc version 4.9.2 20141101 (Red Hat 4.9.2-1) (GCC) , GNU assembler version 2.24 (x86_64-redhat-linux) using BFD version version 2.24, Kernel 3.17.8-300.fc21.x86_64. (Carlos O'Donell)
FAIL: math/test-float Summary of test results: 1 FAIL 2169 PASS 1 UNRESOLVED 198 XFAIL 4 XPASS
The test float errors are all ERANGE failures:
testing float (without inline functions) Failure: exp10 (-0x1.31p+8): errno set to 0, expected 34 (ERANGE) Failure: exp10 (-0x1.344p+12): errno set to 0, expected 34 (ERANGE) Failure: exp10_downward (-0x1.31p+8): errno set to 0, expected 34 (ERANGE) Failure: exp10_downward (-0x1.344p+12): errno set to 0, expected 34 (ERANGE) Failure: exp10_towardzero (-0x1.31p+8): errno set to 0, expected 34 (ERANGE) Failure: exp10_towardzero (-0x1.344p+12): errno set to 0, expected 34 (ERANGE) Failure: exp2 (-0x4.01p+12): errno set to 0, expected 34 (ERANGE) Failure: exp2 (-0x4.32p+8): errno set to 0, expected 34 (ERANGE) Failure: exp2_downward (-0x4.01p+12): errno set to 0, expected 34 (ERANGE) Failure: exp2_downward (-0x4.32p+8): errno set to 0, expected 34 (ERANGE) Failure: exp2_towardzero (-0x4.01p+12): errno set to 0, expected 34 (ERANGE) Failure: exp2_towardzero (-0x4.32p+8): errno set to 0, expected 34 (ERANGE) Failure: pow10 (-0x1.31p+8): errno set to 0, expected 34 (ERANGE) Failure: pow10 (-0x1.344p+12): errno set to 0, expected 34 (ERANGE) Failure: pow10_downward (-0x1.31p+8): errno set to 0, expected 34 (ERANGE) Failure: pow10_downward (-0x1.344p+12): errno set to 0, expected 34 (ERANGE) Failure: pow10_towardzero (-0x1.31p+8): errno set to 0, expected 34 (ERANGE) Failure: pow10_towardzero (-0x1.344p+12): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x1.86a08p+16): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x1.f3fffep+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x1.f40002p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x2.9ffffcp+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x2.a00004p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x2.edfffcp+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x2.ee0004p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x3.1ffffcp+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x3.200004p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x3.e7fffcp+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x3.e80004p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x4.e1fff8p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x4.e20008p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x5.dbfff8p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x5.dc0008p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.3ffff8p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.400008p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.d5fff8p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.d60008p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.e2fff8p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.e30008p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.e3fff8p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.e40008p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.e4fff8p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.e50008p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.e5fff8p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.e60008p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.ebfff8p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.ec0008p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.ecfff8p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.ed0008p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.edfff8p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.ee0008p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.eefff8p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x6.ef0008p+8): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x9.5ffffp+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0x9.60001p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xa.c0001p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.4ffffp+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.50001p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.5ffffp+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.60001p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.6ffffp+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.70001p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.7ffffp+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.80001p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.bffffp+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.c0001p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.cffffp+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.d0001p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.dffffp+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.e0001p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.effffp+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xb.f0001p+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xf.9ffffp+4): errno set to 0, expected 34 (ERANGE) Failure: tgamma (-0xf.a0001p+4): errno set to 0, expected 34 (ERANGE) Test suite completed: 33061 test cases plus 31378 tests for exception flags and 31378 tests for errno executed. 74 errors occurred.
Need to investigate these.
3.1.23. x86_64 (64-bit, Linux)
Build system: Fedora 21 Build Box, gcc version 4.9.2 20141101 (Red Hat 4.9.2-1) (GCC) , GNU assembler version 2.24 (x86_64-redhat-linux) using BFD version version 2.24, Kernel 3.17.8-300.fc21.x86_64. (Carlos O'Donell)
Summary of test results: 2184 PASS 1 UNRESOLVED 199 XFAIL 3 XPASS
3.1.24. x86_64 (x32, Linux)
Build system: Fedora 21/x86-64, gcc version 4.9.2 20150107 (Red Hat 4.9.2-5) (GCC) , GNU binutils 2.25.51.20150123, Kernel 3.18.3-201.fc21.x86_64. (H.J. Lu)
FAIL: elf/check-localplt FAIL: elf/tst-leaks1-mem FAIL: nptl/tst-robust8 FAIL: nptl/tst-sem1 FAIL: nptl/tst-sem14 FAIL: rt/tst-mqueue5 Summary of test results: 6 FAIL 1785 PASS 76 XFAIL 2 XPASS FAIL: nptl/tst-setuid2 Summary of test results for extra tests: 1 FAIL 15 PASS
3.1.25. x86 (32-bit, Hurd)
3.2. Packaging Changes
Describe any distribution packing changes that may be required.
3.2.1. Minimum required gcc version increased to 4.6
The minimum GCC version that can be used to build this version of the GNU C Library is GCC 4.6. Older GCC versions, and non-GNU compilers, can still be used to compile programs using the GNU C Library.
3.2.2. -Werror is enabled by default
The -Werror compiler flag in now enabled by default when building glibc. Although most warnings when building have been addressed, you may need to pass "--disable-werror" to configure when building with a toolchain combination that was untested by the developers.
3.2.3. Function sigvec removed
The obsolete function sigvec has been removed form the public API. New applications cannot be built with sigvec. Existing applications have binary compatibility guaranteed and will operate correctly.