Release/2.19

1. Current status

The release branch of glibc-2.19 is maintained by Allan McRae ( allan@archlinux.org ) and its current release is 2.19, tagged on 2014-02-07. There are no immediate plans for the next release.

Machine status:

Machines that need status information:

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_X.Y 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/X.Y/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. LSB Tests Status

No regressions found relative to 2.18.

Fixed 5 problems and 16 requirements.

More info: Testing/LSB_Core#Current_results.

4. ABI Compatibility Status

ABI compatibility test result relative to 2.18:

CPU \ Kernel

GNU/Linux

x86

OK (2014/01/28)

x86_64

OK (2014/01/28)

More info: Testing/ABI_checker.

5. Known Issues

5.1. Testsuite Failures

5.1.1. Architecture-independent

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

TRIMMED LIST OF FAILURES.

5.1.2. AArch64

Tested aarch64-linux-gnu:

5.1.3. ARM

5.1.4. Alpha

make[2]: *** [/home/rth/work/libc/bld/math/test-float.out] Error 1
make[2]: *** [/home/rth/work/libc/bld/math/test-double.out] Error 1
make[2]: *** [/home/rth/work/libc/bld/math/test-ldouble.out] Error 1

Didn't expect signal from child: got `Segmentation fault'
make[2]: *** [/home/rth/work/libc/bld/crypt/badsalttest.out] Error 1
Incorrect signal from child: got `Segmentation fault', need `Alarm clock'
make[2]: *** [/home/rth/work/libc/bld/nptl/tst-eintr1.out] Error 1
make[2]: *** [/home/rth/work/libc/bld/debug/tst-backtrace2.out] Error 1
make[2]: *** [/home/rth/work/libc/bld/debug/tst-backtrace3.out] Error 1
make[2]: *** [/home/rth/work/libc/bld/debug/tst-backtrace4.out] Error 1
make[2]: *** [/home/rth/work/libc/bld/debug/tst-backtrace5.out] Error 1
make[2]: *** [/home/rth/work/libc/bld/debug/tst-backtrace6.out] Error 1

5.1.5. IA64

make[2]: *** [/home/vapier/glibc/build/debug/tst-backtrace4.out] Error 1
make[2]: *** [/home/vapier/glibc/build/math/test-double.out] Error 1
make[2]: *** [/home/vapier/glibc/build/math/test-float.out] Error 1
make[2]: *** [/home/vapier/glibc/build/math/test-idouble.out] Error 1
make[2]: *** [/home/vapier/glibc/build/math/test-ifloat.out] Error 1
make[2]: *** [/home/vapier/glibc/build/math/test-ildoubl.out] Error 1
make[2]: *** [/home/vapier/glibc/build/math/test-ldouble.out] Error 1
make[2]: [/home/vapier/glibc/build/posix/annexc.out] Error 1 (ignored)
make[2]: *** [/home/vapier/glibc/build/stdio-common/tst-long-dbl-fphex.out] Error 1
make[2]: *** [/home/vapier/glibc/build/stdlib/tst-makecontext3.out] Error 1
make[2]: *** [/home/vapier/glibc/build/stdlib/tst-strtod6.out] Error 1

5.1.6. MIPS

5.1.7. PowerPC (all)

5.1.8. PowerPC (soft-float)

5.1.9. PowerPC (32-bit hard-float)

5.1.10. PowerPC (64-bit hard-float)

5.1.11. PowerPC64le (64-bit hard-float)

5.1.12. tilegx/tilepro

5.1.13. System z, S/390

5.1.13.1. s390x 64 bit

5.1.13.2. s390 32 bit

5.1.14. sparc 32 bit

5.1.15. sparc 64 bit

5.1.16. hppa

5.2. Build Failures

Describe build failures here and how to fix them.

5.3. Packaging Changes

5.3.1. Removal of libbsd-compat dummy library

The libbsd-compat library has been a dummy library since 1998 and is no longer installed.

5.3.2. Change to the size of jmpbuf and ucontext on s390 and s390x

On s390 and s390x the size of struct ucontext and jmp_buf was increased to allow for future hardware extensions. All library functions that accept or return these structures were versioned in order to provide backwards compatibility with existing code. However, not all cases can be handled with interface versioning. If an application embeds either structure into another structure and that structure is passed to another compilation unit which expects the newer larger-sized object then any access to the new fields will result in undefined behaviour. Similarly any access to fields that were moved by the enlarging of the structures will cause undefined behaviour. To fix the undefined behaviour all objects that are part of the final in-memory image must agree on the size of structures, and this may require recompilation. This scenario has occured with Perl where the main interpreter structure embeds jmp_buf, passes that interpreter structure to newer recompiled modules, and those modules then fail to operate correctly. The only solution in this case is to recompile Perl and all dyanmically loaded modules that will be used. After recompilation all modules are using the new size of the changed structures. This change to s390 and s390x for struct ucontext and jmp_buf will make it possible to transparently take advantage of new hardware enablement without any further ABI consequences, but may cause some problems in the short term. The GNU tools community is working on providing better diagnostics for mixing code that might result in an ABI breakage, but until then, the only warning is that of a failing application.

None: Release/2.19 (last edited 2014-04-07 17:41:18 by CarlosODonell)