This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH][aarch64] Change argument type 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 18:09:42 +0100
- Subject: Re: [PATCH][aarch64] Change argument type 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: <1504195258.3182.13.camel@cavium.com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On 31/08/17 17:00, Steve Ellcey wrote:
> This is a one line patch split out from:
>
> https://sourceware.org/ml/libc-alpha/2017-08/msg01310.html
>
> It just changes the type of the argument passed to ifunc resolvers from
> 'unsigned int long' to 'uint64_t'. This should make no difference for
> the existing LP64 ABI but will also work for the new ILP32 ABI. I
> would like to check this in before submitting a patch to GCC that uses
> IFUNCs in libatomic so that the types agree.
>
> Tested on aarch64, OK to checkin?
>
OK for master.
> Steve Ellcey
> sellcey@cavium.com
>
>
>
> 2017-08-31 Steve Ellcey <sellcey@cavium.com>
>
> * sysdeps/aarch64/dl-irel.h: (elf_ifunc_invoke): Change argument type
> in resolver call.
>
>
> diff --git a/sysdeps/aarch64/dl-irel.h b/sysdeps/aarch64/dl-irel.h
> index 4a80275..a794c82 100644
> --- a/sysdeps/aarch64/dl-irel.h
> +++ b/sysdeps/aarch64/dl-irel.h
> @@ -31,7 +31,7 @@ static inline ElfW(Addr)
> __attribute ((always_inline))
> elf_ifunc_invoke (ElfW(Addr) addr)
> {
> - return ((ElfW(Addr) (*) (unsigned long int)) (addr)) (GLRO(dl_hwcap));
> + return ((ElfW(Addr) (*) (uint64_t)) (addr)) (GLRO(dl_hwcap));
> }
>
> static inline void
>