On Fri, 6 Nov 2009, Maxim Kuvyrkov wrote:
> Finn Thain wrote: > > On Wed, 28 Oct 2009, Maxim Kuvyrkov wrote: > > > > > ... > > > > > > We [CodeSourcery] have just updated all of our toolchains, and the > > > GNU/Linux toolchain is based on EGLIBC 2.10 and has well tested > > > TLS/NPTL support. If you are targeting ColdFire you can simply > > > download the toolchain at > > > <http://www.codesourcery.com/sgpp/lite/coldfire>. > ... > > I did run into a problem with this second patch. It doesn't apply to > > the eglibc_2.10 branch in svn as of yesterday. The following hunk is > > the problem: > > The patches posted are all against FSF GLIBC, not EGLIBC, so some > conflicts are expected. ... OK. I suppose that means no back-porting of other patches is required. > > Using the above patches, I am almost able to compile eglibc_2.10. But > > there is an old build failure (since glibc-2.4 I think) when linking > > libc.so: > > > > /tmp/build/glibc-m68k-linux-gnu-3/libc_pic.os: In function `fchownat': > > (.text+0x911c2): undefined reference to `__atfct_seterrno' > > /tmp/gcc-4.4.1/lib/gcc/m68k-linux-gnu/4.4.1/../../../../m68k-linux-gnu/bin/ld: > > /tmp/build/glibc-m68k-linux-gnu-3/libc.so: hidden symbol `__atfct_seterrno' > > isn't defined > > /tmp/gcc-4.4.1/lib/gcc/m68k-linux-gnu/4.4.1/../../../../m68k-linux-gnu/bin/ld: > > final link failed: Nonrepresentable section on output > > collect2: ld returned 1 exit status > > make[1]: *** [/tmp/build/glibc-m68k-linux-gnu-3/libc.so] Error 1 > > make[1]: Leaving directory `/tmp/build/glibc-2.10.1' > > make: *** [all] Error 2 > > > > To try to fix this issue, I've basically copied this patch: > > http://sources.redhat.com/ml/libc-hacker/2006-08/msg00004.html > > An m68k version is attached. Can someone have a look at it and tell > > whether this is the correct fix or not? > > I don't really know, this is the first time I see this failure. I found out why it happens. If you build eglibc with "--enable-kernel=2.6.31" it fails as above. If you omit that option, it works. Do you think my patch is a reasonable solution? I don't understand it, I just copied it from x86 -- "monkey see, monkey do." I used the eglibc-2.10/EGLIBC.cross-building script to test this. I configured eglibc with "--enable-add-ons=ports,nptl" to prevent localedef from breaking the configure step. Package versions were binutils-2.19.51, gcc-4.4.1 (patched), linux-2.6.31 (patched), eglibc 2_10 branch (patched). I also tried eglibc trunk but the build failed elsewhere: ../sysdeps/unix/sysv/linux/i386/fcntl.c: In function '__fcntl_nocancel': ../sysdeps/unix/sysv/linux/i386/fcntl.c:133: error: storage size of 'fex' isn't known ../sysdeps/unix/sysv/linux/i386/fcntl.c:134: error: 'F_GETOWN_EX' undeclared (first use in this function) ../sysdeps/unix/sysv/linux/i386/fcntl.c:134: error: (Each undeclared identifier is reported only once ../sysdeps/unix/sysv/linux/i386/fcntl.c:134: error: for each function it appears in.) ../sysdeps/unix/sysv/linux/i386/fcntl.c:136: error: 'F_OWNER_GID' undeclared (first use in this function) ../sysdeps/unix/sysv/linux/i386/fcntl.c:133: warning: unused variable 'fex' make[2]: *** [/home/fthain/cross-build/m68k/obj/eglibc/io/fcntl.o] Error 1 make[2]: Leaving directory `/home/fthain/cross-build/src/eglibc-trunk-r9191/io' make[1]: *** [io/subdir_lib] Error 2 make[1]: Leaving directory `/home/fthain/cross-build/src/eglibc-trunk-r9191' make: *** [all] Error 2 For now I'm content with eglibc-2.10, since that is the version in the debian archive. > > > The end result is that I now have a NPTL/TLS m68k toolchain > > (binutils-2.19.51 and patched gcc-4.4.1). Thank you for making that > > possible. I've not run the test suites yet, but so far it seems to > > work. > > > > Only, I did find that a statically linked binary (pccardctl) built > > with this toolchain segfaults ("unknown errorSegmentation fault") when > > run under a linux-2.6.31 kernel that lacks your patches. Is this > > expected? > > The binary will certainly not work, Right. I see that this is documented in the CodeSourcery G++ Lite m68k docs. Finn > but I remember run-time linker gracefully exiting with a proper error > message when invoked on a system with unpatched kernel. I don't think I > tested statically linked binaries on such system. > > -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

