This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [RFC] Add IFUNC support for MIPS
- From: Faraz Shahbazker <faraz dot shahbazker at imgtec dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>
- Date: Mon, 3 Aug 2015 15:48:18 -0700
- Subject: Re: [RFC] Add IFUNC support for MIPS
- Authentication-results: sourceware.org; auth=none
- References: <DCB1C42372B1674B8F912A294CCB775A71684631 at BADAG02 dot ba dot imgtec dot org> <alpine dot DEB dot 2 dot 10 dot 1507311524220 dot 28052 at digraph dot polyomino dot org dot uk>
On 07/31/2015 08:30 AM, Joseph Myers wrote:
> On Fri, 31 Jul 2015, Faraz Shahbazker wrote:
>> This is a follow up on IFUNC support for MIPS. Previous patch discussion on
>> this list was: https://sourceware.org/ml/libc-ports/2013-08/msg00007.html
>
> To what extent does the previous description apply to this patch? In
> particular, as regards the ABIs and other features supported. How has
> this patch been tested?I
The previous description mostly doesn't apply, specially for shared libraries
and PIC. Mechanisms for non-PIC are roughly similar. Support for local IFUNC
symbols and non-default visibility are new additions. The story behind
what changed and why is spread across various threads on the binutils
mailing list. This is definitely not an 'incremental' update.
The intention as always is to support all ABI variants. I don't see
ABI-specific changes as far as glibc is concerned. I have tested with
o32/n32/n64/mips16/micromips (though the last 2 are due for rechecking due
to recent tweaks). I have entirely skipped vxworks.
I am working off an internal run-time testsuite - transitioning whatever can
be checked statically, to be included in the ld testsuite in binutils. Not quite
sure what to do with my functional tests - if someone could point me to where
such tests belong ...
> glibc does not have per-subdirectory ChangeLog files (except for libidn
> and localedata). So ChangeLog entries should contain the full paths to
> the files relative to the toplevel glibc source directory, elf/elf.h and
> sysdeps/mips/*.h.
Got it.
> I'd expect an addition to sysdeps/unix/sysv/linux/mips/libc-abis for
> binary compatibility checks using EI_ABIVERSION to work properly (along
> with binutils setting EI_ABIVERSION to 4 when IFUNCs are used for MIPS).
Got it.
Thanks for looking at this.
Regards,
Faraz Shahbazker