Release/2.15

The release branch of glibc-2.15 is maintained by CarlosODonell ( carlos@codesourcery.com ) and its current release is 2.15, tagged in Jan 2012. There are no immediate plans for the next release.

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 (e.g. create a fork at repo.or.cz) and send a pull request at libc-alpha. break;

  4. Add the glibc_2.15 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.15/master as well, more so if they tell me about it!).

Known Issues

Testsuite Failures

Build system: Ubuntu 11.04, x86, GCC 4.5.2, Binutils 2.21.0, Kernel 2.6.38-8-generic (32-bit).

make[2]: *** [/home/carlos/build/glibc-2.15/localedata/tst-xlocale1.out] Error 1
make[1]: *** [localedata/tests] Error 2
make[2]: [/home/carlos/build/glibc-2.15/posix/annexc.out] Error 1 (ignored)
make[2]: *** [/home/carlos/build/glibc-2.15/rt/tst-cpuclock2.out] Error 1
make[1]: *** [rt/tests] Error 2
make[2]: *** [/home/carlos/build/glibc-2.15/elf/tst-unique3lib.os] Error 1
make[2]: *** [/home/carlos/build/glibc-2.15/elf/tst-unique3lib2.os] Error 1
make[2]: *** [/home/carlos/build/glibc-2.15/elf/tst-unique3.o] Error 1
make[2]: *** [/home/carlos/build/glibc-2.15/elf/tst-unique4.o] Error 1
make[2]: *** [/home/carlos/build/glibc-2.15/elf/check-localplt.out] Error 1

Build system: Ubuntu 10.04, x86-64, GCC 4.4.3, Binutils 2.20.1, Kernel 2.6.32-31-generic (64-bit).

make[2]: [/scratch/carloso/build4-lucid-cs/build/glibc-2.15/posix/annexc.out] Error 1 (ignored)
make[2]: *** [/scratch/carloso/build4-lucid-cs/build/glibc-2.15/rt/tst-mqueue5.out] Error 1
make[2]: *** [/scratch/carloso/build4-lucid-cs/build/glibc-2.15/rt/tst-cpuclock2.out] Error 1
make[1]: *** [rt/tests] Error 2
make[2]: *** [/scratch/carloso/build4-lucid-cs/build/glibc-2.15/elf/tst-unique3lib.so] Error 1
make[2]: *** [/scratch/carloso/build4-lucid-cs/build/glibc-2.15/elf/tst-unique3lib2.so] Error 1
make[2]: *** [/scratch/carloso/build4-lucid-cs/build/glibc-2.15/elf/tst-unique4lib.so] Error 1
make[1]: *** [elf/tests] Error 2
make: *** [check] Error 2

Check-Abi

The check-abi tests contain outdated data and will most likely fail on all architectures.

Build Failures

The well known __i686 define build issue is present in release 2.15. This issue has been fixed on trunk and will be part of the 2.16 release. To work around the issue on systems with an affected compiler apply the following patch:

diff --git a/nptl/sysdeps/pthread/pt-initfini.c b/nptl/sysdeps/pthread/pt-initfini.c
index 9c00dc0..f5d4df8 100644
--- a/nptl/sysdeps/pthread/pt-initfini.c
+++ b/nptl/sysdeps/pthread/pt-initfini.c
@@ -45,6 +45,11 @@
 /* Embed an #include to pull in the alignment and .end directives. */
 asm ("\n#include \"defs.h\"");

+asm ("\n#if defined __i686 && defined __ASSEMBLER__");
+asm ("\n#undef __i686");
+asm ("\n#define __i686 __i686");
+asm ("\n#endif");
+
 /* The initial common code ends here. */
 asm ("\n/*@HEADER_ENDS*/");

diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
index 64ef400..726b1df 100644
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -29,6 +29,10 @@
 #include <dl-sysdep.h>
 #include <tls.h>

+#if defined __i686 && defined __ASSEMBLER__
+#undef __i686
+#define __i686 __i686
+#endif

 /* For Linux we can use the system call table in the header file
        /usr/include/asm/unistd.h

When building with a system compiler on Ubuntu you must several special options in CFLAGS and CXXFLAGS including:

If you do not disable source fortification the build will fail with something similar to this:

In file included from ../sysdeps/unix/sysv/linux/syslog.c:10:
../misc/syslog.c: In function '__vsyslog_chk':
../misc/syslog.c:123: sorry, unimplemented: inlining failed in call to 'syslog': function body not available
../misc/syslog.c:155: sorry, unimplemented: called from here

None: Release/2.15 (last edited 2012-07-21 06:35:27 by AndreasJaeger)