620a72252e
Talking futher to the person doing the glibc risc-v ifunc work, they clarified that glibc _is_ passing hwcap as the first argument, and the null pointer is actually the second argument. https://sourceware.org/pipermail/libc-alpha/2023-August/150967.html So since our whole purpose here was source compatibility, let's do what they're actually doing, and let's add some tests. I've also added a test that __riscv_hwprobe() works from an ifunc resolver because that's one place where it might well be used. That said, one other thing that came out of the discussion is that I actually went away and looked at a sample of top apps to see how many are using ifuncs currently. The result? Zero. So although this _might_ be interesting long term (especially if clang gets riscv64 FMV), I think we've done more than we need to with riscv64 ifuncs for now! Test: ran locally, both dynamic and static tests Change-Id: Ie2044d9f4e47c32c00ad381f045c537f4df38b08 |
||
---|---|---|
.. | ||
arch-arm | ||
arch-arm64 | ||
arch-common/bionic | ||
arch-riscv64 | ||
arch-x86 | ||
arch-x86_64 | ||
async_safe | ||
b64/include/bionic | ||
bionic | ||
dns | ||
execinfo/include | ||
fts/include | ||
include | ||
kernel | ||
malloc_debug | ||
malloc_hooks | ||
platform | ||
private | ||
seccomp | ||
stdio | ||
system_properties | ||
tools | ||
tzcode | ||
upstream-freebsd | ||
upstream-netbsd | ||
upstream-openbsd | ||
versioner-dependencies | ||
Android.bp | ||
BUILD | ||
fs_config_generator.py | ||
libc.map.txt | ||
libstdc++.map.txt | ||
MODULE_LICENSE_BSD | ||
NOTICE | ||
SECCOMP_ALLOWLIST_APP.TXT | ||
SECCOMP_ALLOWLIST_COMMON.TXT | ||
SECCOMP_ALLOWLIST_SYSTEM.TXT | ||
SECCOMP_BLOCKLIST_APP.TXT | ||
SECCOMP_BLOCKLIST_COMMON.TXT | ||
SECCOMP_PRIORITY.TXT | ||
SYSCALLS.TXT | ||
version_script.txt |