This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH][aarch64] Fix hpwcap argument passed to ifunc resolvers
- From: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- To: sellcey at cavium dot com, libc-alpha <libc-alpha at sourceware dot org>
- Cc: nd at arm dot com
- Date: Thu, 31 Aug 2017 16:19:58 +0100
- Subject: Re: [PATCH][aarch64] Fix hpwcap argument passed to ifunc resolvers
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs dot Nagy at arm dot com;
- Nodisclaimer: True
- References: <firstname.lastname@example.org>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On 30/08/17 23:35, Steve Ellcey wrote:
> I submitted a patch to gcc to use IFUNCs in libatomic.
> While addressing some of the comments to that patch I
> realized I needed some changes to glibc in order to
> enable the functionality correctly. This patch has
> those changes. In elf_ifunc_invoke I changed the
> argument type passed to the ifunc resolver function
> from 'unsigned long int' to 'uint64_t'. This doesn't
> matter until we do ILP32 but I would like to change
> it now so that I can check in the gcc patch with a
> matching type and not have to change it later. The
> other change here is to use hwcap_mask to mask out
> the hwcap value passed to the resolver function. This
> means that ifunc resolvers that use the hwcap argument
> to check for hardware capabilities will be affected
> by LD_HWCAP_MASK in the same way that glibc resolver
> functions are.
i'm not yet convinced that LD_HWCAP_MASK should be
applied to ifunc resolvers: glibc might be interested
in different hwcap flags than external users and the
important hwcaps mask has other effect in glibc that
i need to review.
please do the type change and the masking in separate
patches (the libatomic change should work without masking
it's just not possible to opt out using an envvar).