This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [RFC PATCH] aarch64: new ifunc resolver ABI
- From: Florian Weimer <fweimer at redhat dot com>
- To: Szabolcs Nagy <Szabolcs dot Nagy at arm dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>, nd <nd at arm dot com>
- Date: Wed, 12 Jun 2019 12:51:21 +0200
- Subject: Re: [RFC PATCH] aarch64: new ifunc resolver ABI
- References: <d242d10d-8f83-1913-44d3-4c9fc49e0477@arm.com>
* Szabolcs Nagy:
> Passing a second argument to the ifunc resolver allows accessing
> AT_HWCAP2 values from the resolver. AArch64 will start using AT_HWCAP2
> on linux because for ilp32 to remain compatible with lp64 ABI no more
> than 32bit hwcap flags can be in AT_HWCAP which is already used up.
Is the expectation that ilp32 will always have the second argument, and
therefore will not need the flag?
> Old call ABI passed hwcap as uint64_t, new abi sets the
> _IFUNC_ARG_HWCAP flag in the hwcap and passes a second argument
> that's a pointer to an extendible struct. A resolver has to check
> the _IFUNC_ARG_HWCAP flag before accessing the second argument.
The _IFUNC_ARG_HWCAP flag is not reserved on the kernel side. I think
it should be.
Thanks,
Florian