This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [committed] Return to caller when _dl_fixup fails on hppa
On 2017-07-16, at 5:31 PM, Andreas Schwab wrote:
>> That's assumed. However, it doesn't work on hppa. The caller has access to a non NULL pointer
>> to a function descriptor.
>
> It works well on ia64 and ppc64, why not on hppa?
32-bit hppa doesn't have official procedure descriptors (OPDs). Carlos at one time indicated that
he wanted to rework binutils elf32-hppa.c to use OPDs but it never happened. As a result, undefined
weak symbols are poorly supported.
It was a bad design and HP recognized it when they created the 64-bit hppa and ia64 runtimes. The
32-bit hpux linker doesn't support undefined weak symbols at all. We worked around it with one-only
support in gcc.
Anyway, one compare instruction checking the return of _dl_fixup doesn't affect performance much.
It could be removed if the problems with undefined weak functions are resolved.
Dave
--
John David Anglin dave.anglin@bell.net