[PATCH v3 0/6] aarch64: Allow overriding HWCAP_CPUID feature check
Siddhesh Poyarekar
siddhesh@sourceware.org
Thu Jun 1 20:12:00 GMT 2017
Hi,
Here is another iteration of the patch to move LD_HWCAP_MASK into tunables
and then using it to disable HWCAP_CPUID on aarch64. There is just one
change from the previous version:
The first patch now reworks the internal tunables API to make it more
straightforward with just TUNABLE_GET and TUNABLE_SET instead of the
arbitrary TUNABLE_SET, TUNABLE_GET, TUNABLE_UPDATE, etc. The API
should now be more straightforward and predictable to use. This also
fixes the problem of hwcap_mask not being read when it is not set
externally.
Testing:
- The patches don't introduce any testsuite regressions on x86_64 and
aarch64
- I ran the dynamic linker under gdb and verified that the hwcap_mask is
read correctly and that MIDR is read correctly
- I ran 'LD_SHOW_AUXV=1 elf/ld.so --library-path .:elf:nptl /bin/true'
to verify that the hwcaps are read correctly.
Siddhesh Poyarekar (6):
tunables: Clean up hooks to get and set tunables
tunables: Add LD_HWCAP_MASK to tunables
tunables: Use glibc.tune.hwcap_mask tunable instead of _dl_hwcap_mask
aarch64: Allow overriding HWCAP_CPUID feature check using HWCAP_MASK
Make LD_HWCAP_MASK usable for static binaries
aarch64: Add hwcap string routines
README.tunables | 69 +++++++++++++++++----
elf/Versions | 2 +-
elf/dl-cache.c | 5 +-
elf/dl-hwcaps.c | 11 +++-
elf/dl-hwcaps.h | 30 +++++++++
elf/dl-support.c | 2 +
elf/dl-tunables.c | 58 ++++++++++-------
elf/dl-tunables.h | 53 ++++++++++------
elf/dl-tunables.list | 7 +++
elf/rtld.c | 4 ++
malloc/arena.c | 20 +++---
manual/tunables.texi | 23 +++++++
scripts/gen-tunables.awk | 1 +
sysdeps/generic/ldsodefs.h | 2 +
sysdeps/sparc/sparc32/dl-machine.h | 6 +-
sysdeps/unix/sysv/linux/aarch64/cpu-features.c | 10 +--
sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c | 15 +++++
sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h | 86 ++++++++++++++++++++++++++
sysdeps/x86/cpu-features.c | 10 +--
19 files changed, 339 insertions(+), 75 deletions(-)
create mode 100644 elf/dl-hwcaps.h
create mode 100644 sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
--
2.7.4
More information about the Libc-alpha
mailing list