From: Finn Thain <fthain@telegraphics.com.au>
To: Maxim Kuvyrkov <maxim@codesourcery.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
Andreas Schwab <schwab@linux-m68k.org>,
linux-m68k@vger.kernel.org, debian-68k@lists.debian.org
Subject: Re: Add private syscalls to support NPTL
Date: Tue, 10 Nov 2009 15:07:28 +1100 (EST) [thread overview]
Message-ID: <alpine.OSX.2.00.0911101451040.369@silk.local> (raw)
In-Reply-To: <4AF3E55D.8060603@codesourcery.com>
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.
>
>
next prev parent reply other threads:[~2009-11-10 4:07 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-17 21:48 Add private syscalls to support NPTL Maxim Kuvyrkov
2009-08-17 22:11 ` Andreas Schwab
2009-08-18 7:15 ` Maxim Kuvyrkov
2009-08-18 8:06 ` Andreas Schwab
2009-08-18 8:56 ` Maxim Kuvyrkov
2009-08-18 9:22 ` Geert Uytterhoeven
2009-08-18 9:36 ` Maxim Kuvyrkov
2009-08-18 18:18 ` Andreas Schwab
2009-08-23 20:21 ` Maxim Kuvyrkov
2009-08-25 19:43 ` Maxim Kuvyrkov
2009-08-28 10:51 ` Maxim Kuvyrkov
2009-10-02 9:59 ` Maxim Kuvyrkov
2009-10-26 15:01 ` Maxim Kuvyrkov
2009-10-28 1:19 ` Finn Thain
2009-10-28 6:54 ` Maxim Kuvyrkov
2009-10-28 16:38 ` Finn Thain
2009-11-06 8:38 ` Finn Thain
2009-11-06 8:59 ` Maxim Kuvyrkov
2009-11-10 4:07 ` Finn Thain [this message]
2009-11-10 4:20 ` Brad Boyer
2009-11-10 10:51 ` Maxim Kuvyrkov
2009-11-10 16:11 ` Finn Thain
2009-08-17 22:18 ` Andreas Schwab
2009-08-18 7:10 ` Maxim Kuvyrkov
2009-08-18 2:28 ` Brad Boyer
2009-08-18 7:07 ` Maxim Kuvyrkov
2009-08-18 23:40 ` Brad Boyer
2009-08-19 8:06 ` Maxim Kuvyrkov
2009-08-19 8:35 ` Andreas Schwab
2009-12-07 8:38 ` Maxim Kuvyrkov
2009-12-09 10:25 ` Klaus Kuehnhammer
2009-12-09 11:05 ` Maxim Kuvyrkov
[not found] ` <DBFD40BF-19FC-47DF-8A7C-B71261AFBD85@parq.net>
[not found] ` <4B1F9492.6030604@codesourcery.com>
2009-12-09 15:44 ` Klaus Kuehnhammer
2009-12-10 9:18 ` Maxim Kuvyrkov
2009-12-11 14:01 ` Geert Uytterhoeven
2009-12-11 16:23 ` Maxim Kuvyrkov
2009-12-17 17:53 ` Maxim Kuvyrkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.OSX.2.00.0911101451040.369@silk.local \
--to=fthain@telegraphics.com.au \
--cc=debian-68k@lists.debian.org \
--cc=geert@linux-m68k.org \
--cc=linux-m68k@vger.kernel.org \
--cc=maxim@codesourcery.com \
--cc=schwab@linux-m68k.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox