platform_bionic/libc
Elliott Hughes 620a72252e riscv64: fix ifuncs, improve the ifunc tests.
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
2023-08-21 16:17:35 -07:00
..
arch-arm [NFCI] Change Android's NT_TYPE to NT_ANDROID_TYPE. 2022-02-07 13:49:20 -08:00
arch-arm64 Fix the *return* types in the arm64 dynamic function dispatch. 2023-05-22 19:28:33 +00:00
arch-common/bionic Remove #if cruft. 2023-03-01 20:26:41 +00:00
arch-riscv64 Add the L() macro for local labels to <private/bionic_asm.h>. 2023-08-04 15:12:30 -07:00
arch-x86 Tidy up the x86 atom/silvermont stuff similar to x86-64. 2022-07-25 16:27:25 +00:00
arch-x86_64 Use L() in libc/arch-x86_64/bionic/*.S. 2023-08-07 09:34:06 -07:00
async_safe Fix mte build breakage. 2023-03-21 18:11:02 +00:00
b64/include/bionic Export bionic's resolv base64 functions to musl 2022-02-03 16:25:26 -08:00
bionic riscv64: fix ifuncs, improve the ifunc tests. 2023-08-21 16:17:35 -07:00
dns Rewrite function definitions with identifier lists 2022-07-13 10:58:42 +08:00
execinfo/include Export bionic's execinfo functions to musl 2022-02-03 16:25:21 -08:00
fts/include
include Merge "Add some new risc-v ELF relocations." into main 2023-08-20 08:20:14 +00:00
kernel Update to v6.4 kernel headers. 2023-07-10 10:59:05 -07:00
malloc_debug Modify how the malloc debug tests run. 2023-06-30 15:09:44 -07:00
malloc_hooks Disable clang-tidy for some malloc tests. 2023-01-10 16:57:44 -08:00
platform Merge "bionic: Fix typo in the argument passed to getauxval()" into main 2023-08-20 17:05:31 +00:00
private bionic: libc: WriteProtected use max_page_size() 2023-08-19 00:05:12 +00:00
seccomp riscv64 syscall stub and seccomp filter generation. 2022-10-13 23:41:53 +00:00
stdio Make multibyte result constants public. 2023-08-04 19:48:35 +00:00
system_properties Rename prop_bt. 2023-08-08 14:05:01 +00:00
tools Add __riscv_flush_icache() to <sys/cachectl.h>. 2023-07-12 16:30:55 -07:00
tzcode Fix tzalloc(nullptr) and add a test. 2023-06-22 09:51:01 -07:00
upstream-freebsd Reuse the libm scalbn() as ldexp(). 2023-07-20 21:05:44 +00:00
upstream-netbsd Merge "Sync upstream NetBSD." into main 2023-07-20 14:21:01 +00:00
upstream-openbsd Sync upstream OpenBSD. 2023-07-19 13:36:44 -07:00
versioner-dependencies Tell the version script generation script about risc-v. 2022-10-04 22:48:38 +00:00
Android.bp libm/libc: remove 'allow_untyped_symbols' flags 2023-08-01 17:23:49 +00:00
BUILD Remove Commodore 64 support. 2022-10-19 16:13:09 +00:00
fs_config_generator.py
libc.map.txt riscv64: add <sys/hwprobe.h>. 2023-07-28 09:29:06 -07:00
libstdc++.map.txt Add riscv64 to the map files. 2022-10-04 23:52:57 +00:00
MODULE_LICENSE_BSD
NOTICE Expose tzalloc()/localtime_rz()/mktime_z()/tzfree(). 2023-06-16 08:10:47 -07:00
SECCOMP_ALLOWLIST_APP.TXT Fix a typo. 2022-11-08 02:52:29 +00:00
SECCOMP_ALLOWLIST_COMMON.TXT riscv64: add <sys/hwprobe.h>. 2023-07-28 09:29:06 -07:00
SECCOMP_ALLOWLIST_SYSTEM.TXT
SECCOMP_BLOCKLIST_APP.TXT Fix setfsgid()/setfsuid() for LP32. 2023-02-03 23:10:04 +00:00
SECCOMP_BLOCKLIST_COMMON.TXT
SECCOMP_PRIORITY.TXT
SYSCALLS.TXT riscv64: use vdso for __riscv_hwprobe(). 2023-07-31 12:24:31 -07:00
version_script.txt