This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH v3 0/6] aarch64: Allow overriding HWCAP_CPUID feature check


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]