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: [PATCH][aarch64] Fix hpwcap argument passed to ifunc resolvers


On 30/08/17 23:35, Steve Ellcey wrote:
> I submitted a patch to gcc to use IFUNCs in libatomic.
> 
> https://gcc.gnu.org/ml/gcc-patches/2017-08/msg00545.html
> 
> 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).


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