This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: machine maintainer ping: hppa


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]