Release/2.20

1. Current status

The release branch of glibc-2.20 is maintained by Allan McRae ( allan@archlinux.org ) and is planned for release July 31st 2014. The freeze in preparation for this release will occur on July 1st 2014.

The ref structure of this branch is:

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

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.20 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.20/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?

2.2. Desirable this release?

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

3.1.2. Compiler-dependent

3.1.2.1. gcc 4.4

FAIL: conform/ISO11/*.h/conform
FAIL: conform/*/inttypes.h/conform
FAIL: conform/*/stdint.h/conform

In addition, several shared objects do not build with gcc 4.4:

The elf/tst-unique3 and elf/tst-unique4 tests need to be commented out to allow "make check" to complete normally. For more information see the discussion on libc-alpha here.

3.1.3. AArch64

Build system: AArch64 GNU/Linux, gcc version 4.8.2 20140120, GNU assembler version 2.23.52.0.1, Linux 3.15. (Carlos O'Donell)

FAIL: conform/POSIX/semaphore.h/conform
FAIL: conform/POSIX2008/cpio.h/conform
FAIL: conform/POSIX2008/semaphore.h/conform
FAIL: conform/UNIX98/cpio.h/conform
FAIL: conform/UNIX98/fmtmsg.h/conform
FAIL: conform/UNIX98/semaphore.h/conform
FAIL: conform/XOPEN2K/cpio.h/conform
FAIL: conform/XOPEN2K/fmtmsg.h/conform
FAIL: conform/XOPEN2K8/cpio.h/conform
FAIL: conform/XOPEN2K8/fmtmsg.h/conform
FAIL: conform/XOPEN2K8/semaphore.h/conform
FAIL: conform/XPG3/cpio.h/conform
FAIL: conform/XPG4/cpio.h/conform
FAIL: conform/XPG4/fmtmsg.h/conform
FAIL: debug/tst-backtrace5
FAIL: debug/tst-backtrace6
FAIL: math/basic-test
FAIL: rt/tst-mqueue6
Summary of test results:
     18 FAIL
   1651 PASS
    120 XFAIL
      4 XPASS

The tst-backtrace failures have been partly analyzed but no solution found yet:

https://sourceware.org/ml/libc-alpha/2014-08/msg00139.html

The math failures are probably a gcc bug:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61441

Build system: AArch64 GNU/Linux, gcc version 4.9.2 20140728, GNU assembler version 2.24.51, Linux version 3.14.0-rc6. (Marcus Shawcroft)

...
FAIL: debug/tst-backtrace4
FAIL: debug/tst-backtrace5
FAIL: debug/tst-backtrace6
FAIL: elf/check-abi-libc
FAIL: elf/tst-dl-iter-static
FAIL: rt/tst-cpuclock2
FAIL: rt/tst-cputimer1

Summary of test results:
      7 FAIL
   1653 PASS
    120 XFAIL
      4 XPASS

The check-abi-libc is due to my prefix setting impacting _nl_default_dirname.

3.1.4. Alpha

Build system: alphaev67 qemu 2.0.95, gcc version 4.9.0 (Gentoo 4.9.0 p1.0, pie-0.6.0), GNU assembler (Gentoo git) 2.24.51.20140619, Linux 3.16.0-rc6. (Richard Henderson)

...
FAIL: crypt/badsalttest
FAIL: debug/tst-backtrace5
FAIL: debug/tst-backtrace6
FAIL: math/test-fenv-return
FAIL: math/test-float

The badsalttest failure is a real bug in strncmp, reading past the first difference. The test-fenv-return and test-float failures are believed to be qemu fp bugs.

3.1.5. ARM

Build system: ARM GNU/Linux (gnueabihf), gcc version 4.8.2, GNU assembler version 2.24, Linux 3.4.0. (Will Newton)

Summary of test results:
   1704 PASS
    120 XFAIL
      4 XPASS

Build system: (hard-float ABI) GCC 4.9.2 20140811 (prerelease), binutils 2.24.51.20140811, Linux 2.6.35 (Joseph Myers)

FAIL: io/ftwtest
FAIL: nptl/tst-cancel7
FAIL: nptl/tst-cancelx7
FAIL: nptl/tst-cond-except
FAIL: nptl/tst-cond17
FAIL: nptl/tst-cond24
FAIL: nptl/tst-cond25
FAIL: nptl/tst-robust1
FAIL: nptl/tst-robust3
FAIL: nptl/tst-robust4
FAIL: nptl/tst-robust7
FAIL: nptl/tst-robust9
FAIL: rt/tst-cpuclock2

The NPTL failures not mentioned as architecture-independent are thought to result from general unreliability of the board being used for testing.

Build system: (soft-float) GCC 4.9.2 20140811 (prerelease), binutils 2.24.51.20140811, Linux 2.6.34.1 (Joseph Myers)

FAIL: elf/tst-tls13
FAIL: io/ftwtest
FAIL: math/basic-test
FAIL: nptl/tst-cancel7
FAIL: nptl/tst-cancelx7
FAIL: nptl/tst-mutexpi9
FAIL: nptl/tst-setuid3
FAIL: nptl/tst-stackguard1
FAIL: rt/tst-cpuclock1
FAIL: rt/tst-shm
FAIL: stdio-common/bug22
FAIL: stdio-common/test-vfprintf

3.1.6. HPPA

Build system: HP-PARISC GNU/Linux, gcc version 4.6.3 (Gentoo 4.6.3 p1.13, pie-0.5.2), GNU assembler version 2.23.2, Linux 3.13 (Carlos O'Donell)

FAIL: conform/UNIX98/sys/mman.h/conform
FAIL: conform/UNIX98/sys/types.h/conform
FAIL: conform/UNIX98/sys/uio.h/conform
FAIL: conform/XOPEN2K/cpio.h/conform
FAIL: conform/XOPEN2K/fmtmsg.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/cpio.h/conform
FAIL: conform/XOPEN2K8/fmtmsg.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/XPG3/cpio.h/conform
FAIL: conform/XPG4/cpio.h/conform
FAIL: conform/XPG4/fmtmsg.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-chk1
FAIL: debug/tst-chk2
FAIL: debug/tst-chk3
FAIL: debug/tst-chk4
FAIL: debug/tst-chk5
FAIL: debug/tst-chk6
FAIL: debug/tst-lfschk1
FAIL: debug/tst-lfschk2
FAIL: debug/tst-lfschk3
FAIL: debug/tst-lfschk4
FAIL: debug/tst-lfschk5
FAIL: debug/tst-lfschk6
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-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-cputimer1
FAIL: rt/tst-mqueue8x
FAIL: stdlib/tst-makecontext
Summary of test results:
    119 FAIL
   1544 PASS
      1 UNRESOLVED
    123 XFAIL
      1 XPASS

* Custom patch required to build and run glibc for hppa.

3.1.7. IA64

Build system: ia64 Dual-Core Intel(R) Itanium(R) Processor 9040, gcc (Gentoo 4.7.3-r1 p1.4, pie-0.5.5), GNU assembler (Gentoo 2.23.2 p1.0), Linux 3.12.13-gentoo. (Mike Frysinger)

FAIL: debug/tst-backtrace4
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: rt/tst-cpuclock2
FAIL: stdio-common/tst-long-dbl-fphex
FAIL: stdlib/tst-makecontext3
FAIL: stdlib/tst-strtod6
FAIL: time/bug-getdate1

3.1.7.1. regression

3.1.8. M68K

Build system: ARAnyM 0.9.16, openSUSE 13.2, gcc48-4.8.3+r212056, binutils-2.24, 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: posix/tst-getaddrinfo4
FAIL: stdio-common/bug22
FAIL: stdio-common/tstdiomisc

3.1.9. MicroBlaze

3.1.10. MIPS

Build system: GCC 4.9.2 20140811 (prerelease), binutils 2.24.51.20140811, 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.

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

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

3.1.11. PowerPC (32-bit soft-float)

Build system: GCC 4.9.2 20140811 (prerelease), binutils 2.24.51.20140811, Linux 2.6.34.1 (Joseph Myers)

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

3.1.12. PowerPC (32-bit hard-float)

Build system: GCC version 4.9.2 20140813 (prerelease), binutils version 2.24.51.20140714, Linux 3.16.0-rc5. (Adhemerval Zanella)

FAIL: math/test-ildoubl
FAIL: math/test-ldouble
FAIL: nptl/tst-cond18
FAIL: nptl/tst-eintr1

3.1.13. PowerPC (64-bit hard-float) - Big Endian (ELFv1)

Build system: GCC version 4.9.2 20140813 (prerelease), binutils version 2.24.51.20140714, Linux 3.16.0-rc5. (Adhemerval Zanella)

FAIL: elf/ifuncmain6pie
FAIL: math/test-ildoubl
FAIL: math/test-ldouble
FAIL: nptl/tst-cond18
FAIL: nptl/tst-eintr1
FAIL: rt/tst-cpuclock2

3.1.14. PowerPC (64-bit hard-float) - Little Endian (ELFv2)

Build system: GCC version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) , binutils version 2.24, Linux 3.13.0-27. (Adhemerval Zanella)

FAIL: math/test-ildoubl
FAIL: math/test-ldouble

3.1.15. S/390 (32-bit)

Build system: s390 GNU/Linux, gcc version 4.9.0 20140217, GNU assembler version 2.24.51, Linux 3.6.2 (Stefan Liebler)

Summary of tests.sum results:
   1666 PASS
    121 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.0 20140217, GNU assembler version 2.24.51, Linux 3.13.6 (Stefan Liebler)

Summary of tests.sum results:
   1703 PASS
    120 XFAIL
      4 XPASS

FAIL: nptl/tst-setuid2
Summary of xtests.sum results:
      1 FAIL
     15 PASS

nptl/tst-setuid2 passes with root privileges.

3.1.17. SH

Build system: Fedora 20, cross gcc 4.6.4, BFD version 2.23.52, Linux 2.6.32 (Kazumoto Kojima)

FAIL: c++-types-check
FAIL: crypt/sha256c-test
FAIL: csu/tst-atomic
FAIL: csu/tst-atomic-long
FAIL: debug/tst-backtrace4
FAIL: elf/check-abi-libc
FAIL: elf/check-localplt
FAIL: elf/tst-tls13
FAIL: iconvdata/iconv-test
FAIL: io/ftwtest
FAIL: libio/tst-memstream2
FAIL: libio/tst-wmemstream2
FAIL: localedata/tst-setlocale3
FAIL: malloc/tst-trim1
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-cancel21-static
FAIL: nptl/tst-cancel24
FAIL: nptl/tst-cancel24-static
FAIL: nptl/tst-cond-except
FAIL: nptl/tst-cond22
FAIL: nptl/tst-cond25
FAIL: nptl/tst-cond7
FAIL: nptl/tst-cond8
FAIL: nptl/tst-cond8-static
FAIL: nptl/tst-fork1
FAIL: nptl/tst-mutex8
FAIL: nptl/tst-mutex8-static
FAIL: nptl/tst-mutexpi8
FAIL: nptl/tst-mutexpi8-static
FAIL: nptl/tst-once3
FAIL: nptl/tst-once4
FAIL: nptl/tst-oncex3
FAIL: nptl/tst-oncex4
FAIL: nptl/tst-sem11-static
FAIL: nptl/tst-sem12-static
FAIL: nptl/tst-setuid3
FAIL: posix/bug-regex24
FAIL: posix/tst-getcpu
FAIL: posix/tst-regex2
FAIL: setjmp/tst-setjmp-fp
FAIL: stdio-common/bug22
FAIL: stdlib/tst-strtod-overflow
FAIL: string/stratcliff
FAIL: wcsmbs/wcsatcliff
Summary of test results:
     52 FAIL
   1218 PASS
      1 XFAIL

3.1.18. SPARC (32-bit)

FAIL: math/test-ldouble

* test-ldouble appears to be an unexpected underflow being signalled in erf() with 128-bit long doubles; bug 17257

3.1.19. SPARC (64-bit)

FAIL: math/test-ldouble

* test-ldouble is the same failure as seen on SPARC 32-bit.

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

Build system: CentOS 6.3 (gcc 4.4.7, binutils 2.21) but with kernel 3.4.76. (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

Same environment as TILE-Gx tests, but with kernel 3.4.39. (Chris Metcalf)

All the test failures from TILE-Gx are also present on TILEPro, and additionally:

FAIL: conform/*/wchar.h/conform
FAIL: elf/tst-audit1
FAIL: elf/tst-audit8
FAIL: elf/tst-dlmopen1

3.1.22. x86 (32-bit, Linux)

Some GCC releases miscompile the setxid support code in NPTL. This results in functions such as setgid failing with ENOSYS because an totally bogus system call number is being passed to the kernel. This has been fixed as GCC bug 61801.

Build system: x86_64 GNU/Linux, gcc version 4.8.3 20140624 (Red Hat 4.8.3-1) (GCC), GNU assembler version 2.23.2 (x86_64-redhat-linux) using BFD version version 2.23.2, Linux 3.15.3-200.fc20.x86_64 (Carlos O'Donell). Built with -m32' and targetting i686-pc-linux-gnu'.

...
FAIL: nptl/tst-setuid3
FAIL: rt/tst-cputimer1
Summary of test results:
     16 FAIL
   1691 PASS
      1 UNRESOLVED
    120 XFAIL
      4 XPASS

In addition, the following test fails when compiling with gcc-4.9:

FAIL: nptl/tst-cleanupx4

3.1.23. x86_64 (64-bit, Linux)

Build system: x86_64 GNU/Linux, gcc version 4.8.3 20140624 (Red Hat 4.8.3-1) (GCC), GNU assembler version 2.23.2 (x86_64-redhat-linux) using BFD version version 2.23.2, Linux 3.15.3-200.fc20.x86_64 (Carlos O'Donell).

FAIL: conform/POSIX/semaphore.h/conform
FAIL: conform/POSIX2008/cpio.h/conform
FAIL: conform/POSIX2008/semaphore.h/conform
FAIL: conform/UNIX98/cpio.h/conform
FAIL: conform/UNIX98/fmtmsg.h/conform
FAIL: conform/UNIX98/semaphore.h/conform
FAIL: conform/XOPEN2K/cpio.h/conform
FAIL: conform/XOPEN2K/fmtmsg.h/conform
FAIL: conform/XOPEN2K8/cpio.h/conform
FAIL: conform/XOPEN2K8/fmtmsg.h/conform
FAIL: conform/XOPEN2K8/semaphore.h/conform
FAIL: conform/XPG3/cpio.h/conform
FAIL: conform/XPG4/cpio.h/conform
FAIL: conform/XPG4/fmtmsg.h/conform
Summary of test results:
     14 FAIL
   1708 PASS
    121 XFAIL
      3 XPASS

The conform failures are due to missing wrappers for these headers internally in glibc. We will need to fix this for builds without complete sysroots.

3.1.24. x86_64 (x32, Linux)

Build system: x86_64 GNU/Linux, gcc version 4.8.3 20140624 (Red Hat 4.8.3-1) (GCC), GNU binutils 2.24.51 (20140806), Linux 3.15.8-200.fc20.x86_64 (H.J. Lu). Since clock_t and tv_nsec are long long for x32 while conform tests expect they are long, those failures are expected. elf/check-localplt is due to https://sourceware.org/bugzilla/show_bug.cgi?id=16512

FAIL: conform/ISO/time.h/conform
FAIL: conform/ISO11/time.h/conform
FAIL: conform/ISO99/time.h/conform
FAIL: conform/POSIX/mqueue.h/conform
FAIL: conform/POSIX/sched.h/conform
FAIL: conform/POSIX/time.h/conform
FAIL: conform/POSIX2008/mqueue.h/conform
FAIL: conform/POSIX2008/sys/select.h/conform
FAIL: conform/POSIX2008/sys/stat.h/conform
FAIL: conform/POSIX2008/time.h/conform
FAIL: conform/UNIX98/mqueue.h/conform
FAIL: conform/UNIX98/sched.h/conform
FAIL: conform/UNIX98/time.h/conform
FAIL: conform/XOPEN2K/sys/select.h/conform
FAIL: conform/XOPEN2K/time.h/conform
FAIL: conform/XOPEN2K8/mqueue.h/conform
FAIL: conform/XOPEN2K8/sys/stat.h/conform
FAIL: conform/XOPEN2K8/time.h/conform
FAIL: conform/XPG4/time.h/conform
FAIL: elf/check-localplt
     20 FAIL
    121 XFAIL
FAIL: nptl/tst-setuid2
      1 FAIL

3.1.25. x86 (32-bit, Hurd)

3.2. Packaging Changes

Describe any distribution packing changes that may be required:

3.2.1. Update build recipies

With the de-addon-ification of nptl you should use --enable-add-ons to avoid getting the following error:

checking sysdep dirs... sysdeps/unix/sysv/linux/x86_64/64 sysdeps/unix/sysv/linux/x86_64 sysdeps/unix/sysv/linux/x86 sysdeps/unix/sysv/linux/wordsize-64 sysdeps/x86_64/nptl sysdeps/unix/sysv/linux sysdeps/nptl sysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/x86_64 sysdeps/unix sysdeps/posix sysdeps/x86_64/64 sysdeps/x86_64/fpu/multiarch sysdeps/x86_64/fpu sysdeps/x86/fpu sysdeps/x86_64/multiarch sysdeps/x86_64 sysdeps/x86 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64/wordsize-64 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/wordsize-64 sysdeps/ieee754 sysdeps/generic
configure: error: add-on nptl has no configure fragment or sysdeps tree

This is because nptl is no longer an add-on, it's an integral part of glibc.

3.2.2. Minimum Linux kernel version increased to 2.6.32

On Linux systems, the minimum required kernel version to build glibc-2.20 is 2.6.32.

3.2.3. Deprecation of _BSD_SOURCE and _SVID_SOURCE feature macros

The _BSD_SOURCE and _SVID_SOURCE feature macros are in the process of being deprecated for a cleaner interface for enabling or disabling all the additional features normally defined in the GNU C Library. The replacement is _DEFAULT_SOURCE, and provides everything provided by the previous two macros e.g. all options enabled by default if the compiler options would not restrict them.

Summary Table:

Feature Test Macro

Version 2.18

Version 2.19

Version 2.20

_BSD_SOURCE

Supported. ISO C, POSIX, and 4.3BSD things.

Supported.

Supported, but issues a warning if _DEFAULT_SOURCE is not defined.

_SVID_SOURCE

Supported. ISO C, POSIX, and SVID things.

Supported.

Supported, but issues a warning if _DEFAULT_SOURCE is not defined.

_DEFAULT_SOURCE

Unsupported (ignored).

Supported.

Supported. The default set of features (taking precedence over __STRICT_ANSI__).

The _BSD_SOURCE and _SVID_SOURCE feature macros are not yet deprecated, but use of those macros will produce the following warning:

In file included from /usr/include/stdio.h:27:0,
                 from test3.c:2:
/usr/include/features.h:152:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
 # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
   ^

The recommend process for removing the warning is to the following:

#if defined __linux__
# define _DEFAULT_SOURCE 1
#else
# define _BSD_SOURCE 1
# define _SVID_SOURCE 1
#endif

/* Legacy feature macros.  */
#define _BSD_SOURCE 1
#define _SVID_SOURCE 1
/* New feature macro that provides everything _BSD_SOURCE and
   _SVID_SOURCE provided and possibly more.  */
#define _DEFAULT_SOURCE 1

Eventually when _BSD_SOURCE and _SVID_SOURCE are removed your application will need to define _DEFAULT_SOURCE to continue to operate correctly. For more information on _DEFAULT_SOURCE see the glibc manual.

None: Release/2.20 (last edited 2014-09-09 04:48:10 by Kazumoto Kojima)