machine maintainer ping: hppa
Roland McGrath
roland@hack.frob.com
Sat Jun 21 19:27:00 GMT 2014
> 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
More information about the Libc-alpha
mailing list