This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
[M68K/ColdFire] NPTL support and other updates
- From: Maxim Kuvyrkov <maxim at codesourcery dot com>
- To: libc-ports at sourceware dot org
- Cc: Andreas Schwab <schwab at linux-m68k dot org>
- Date: Tue, 25 Aug 2009 16:26:45 +0400
- Subject: [M68K/ColdFire] NPTL support and other updates
Good day,
In this thread I will post patches to M68K/ColdFire port that add NPTL
support and other necessary updates to make trunk GLIBC build and work
properly.
The patches posted here were tested against 2.10 branch on a ColdFire
system with no test failures in elf/ and nptl/ directories.
Truth be told, I mainly focused on the ColdFire port, and didn't test
the work on usual m68k. Still, to my knowledge, the only place m68k
functionality is missing, is atomic macros implementations in
./sysdeps/unix/sysv/linux/m68k/nptl/atomic.h, which should be straight
forward to fix: the memory barrier macro should be the same as in
coldfire's implementation and compare_exchange macro should be a wrapper
for 'cas'.
Further, I still have one more patch in my pipeline. The patch fixes
register-dump.h and regs.h, but I need some time to verify that the
fixed versions correlate with ColdFire kernels.
Even further, to make the port build on trunk (not 2.10 branch), one
needs to update ____longjmp_chk, something I had not yet started on.
Finally, to build M68K/ColdFire GLIBC *without bugs*, one will need the
very recent snapshots of binutils, gcc and kernel. The threads for
binutils and gcc patches that fix last /known to date/ bugs are
(http://sourceware.org/ml/binutils/2009-08/msg00461.html) and
(http://gcc.gnu.org/ml/gcc-patches/2009-08/msg01253.html). The kernel
patches (http://marc.info/?l=linux-m68k&m=125054669119207&q=p4 and
http://marc.info/?l=linux-m68k&m=125105890201426&q=p3) are not intrusive
and can be ported to the kernel version of one's choice.
Andreas, I thank you in advance for reviewing this work.
Last, but not least, I'd like to give credit for this work to my
colleagues at CodeSourcery, especially, Joseph S. Myers and Daniel
Jacobowitz, for their help and expertise during this project.
Regards,
--
Maxim Kuvyrkov
CodeSourcery