This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: machine maintainer ping: hppa
- From: Roland McGrath <roland at hack dot frob dot com>
- To: "Carlos O'Donell" <carlos at redhat dot com>
- Cc: "Carlos O'Donell" <carlos at systemhalted dot org>, Jeff Bailey <jbailey at gnu dot org>, "GNU C. Library" <libc-alpha at sourceware dot org>
- Date: Sat, 21 Jun 2014 12:27:24 -0700 (PDT)
- Subject: Re: machine maintainer ping: hppa
- Authentication-results: sourceware.org; auth=none
- References: <20140621015750 dot 5F9CC2C3993 at topped-with-meat dot com> <53A500F1 dot 7000702 at redhat dot com>
> I will try to follow up this week. Sorry for the tardiness.
Much appreciated. I also just discovered what a nice, full selection of
cross-compilers are readily available on Fedora (I've been using Ubuntu
at work, where I do 99% of my libc hacking now, and oh do I miss
Fedora!). So if you can supply me with an adequately-populated tree to
unpack into /usr/hppa-linux-gnu/sys-root (not sure what might be needed
for the libc cross-build itself beyond usable kernel headers), then I
can at least build-test changes myself (and perhaps qemu is even usable
enough for basic testing, though I'm less optimistic about that).
> For right now we can't rely on IFUNC, but the compiler can emit a tail
> call that doesn't touch the stack for a trivial argumentless tail call
> in C (as long as we have -O2 it should work).
One that calls a PLT entry, right? As opposed to e.g. x86-32, where calls
to the PLT are ABI-required to set %ebx, and %ebx is call-saved in the ABI,
so you can't tail-call into the PLT because you'd never restore your
caller's value of %ebx.
If -O2 is really required, do you want the build to rely on -O2 to avoid
fragile and arcane bugs? (The main alternative is to just take the
alpha/pt-vfork.S approach, which means copying the vfork code into
libpthread akin to how it's in there today, so it's not a big downside,
though tail-call is clearly better and IFUNC is ideal.)
Thanks,
Roland