This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
V5 [PATCH 0/2] Add <sys/platform/x86.h>
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: libc-alpha at sourceware dot org
- Cc: Florian Weimer <fweimer at redhat dot com>
- Date: Thu, 27 Sep 2018 12:43:25 -0700
- Subject: V5 [PATCH 0/2] Add <sys/platform/x86.h>
Add <sys/platform/x86.h> to provide an API to access x86 specific platform
features. It makes raw and derived CPUID information available to
applications so that programmers can avoid complicated steps to retrieve
the same information with CPUID instructions. 2 macros are provided to
query x86 platform features:
1. HAS_CPU_FEATURE evaluates to true if CPU supports the feature.
2. CPU_FEATURE_USABLE evaluates to true if the feature is usable.
They can be used in IFUNC resolvers, including in LD_PRELOAD shared
objects.
H.J. Lu (2):
x86: Add <sys/platform/x86.h>
x86: Add a LD_PRELOAD IFUNC resolver test for CPU_FEATURE_USABLE
NEWS | 3 +
manual/platform.texi | 458 +++++++++++
sysdeps/mach/hurd/i386/ld.abilist | 2 +
sysdeps/unix/sysv/linux/i386/ld.abilist | 2 +
sysdeps/unix/sysv/linux/x86_64/64/ld.abilist | 2 +
sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist | 2 +
sysdeps/x86/Makefile | 23 +-
sysdeps/x86/Versions | 3 +
sysdeps/x86/cpu-features.c | 97 ++-
sysdeps/x86/cpu-features.h | 234 ++----
sysdeps/x86/dl-get-cpu-features.c | 19 +
sysdeps/x86/sys/platform/x86.h | 755 ++++++++++++++++++
sysdeps/x86/tst-get-cpu-features.c | 29 +-
sysdeps/x86/tst-x86-platform-1-static.c | 1 +
sysdeps/x86/tst-x86-platform-1.c | 254 ++++++
sysdeps/x86/tst-x86-platform-2.c | 27 +
sysdeps/x86/tst-x86-platform-3.c | 27 +
sysdeps/x86/tst-x86-platform-4.c | 54 ++
sysdeps/x86/tst-x86-platform-mod-2.c | 2 +
sysdeps/x86/tst-x86-platform-mod-3.c | 2 +
sysdeps/x86/tst-x86-platform-mod-4.c | 37 +
sysdeps/x86/tst-x86-platform-preload-4.c | 62 ++
sysdeps/x86_64/multiarch/sched_cpucount.c | 2 +-
sysdeps/x86_64/multiarch/test-multiarch.c | 4 +-
24 files changed, 1889 insertions(+), 212 deletions(-)
create mode 100644 sysdeps/x86/sys/platform/x86.h
create mode 100644 sysdeps/x86/tst-x86-platform-1-static.c
create mode 100644 sysdeps/x86/tst-x86-platform-1.c
create mode 100644 sysdeps/x86/tst-x86-platform-2.c
create mode 100644 sysdeps/x86/tst-x86-platform-3.c
create mode 100644 sysdeps/x86/tst-x86-platform-4.c
create mode 100644 sysdeps/x86/tst-x86-platform-mod-2.c
create mode 100644 sysdeps/x86/tst-x86-platform-mod-3.c
create mode 100644 sysdeps/x86/tst-x86-platform-mod-4.c
create mode 100644 sysdeps/x86/tst-x86-platform-preload-4.c
--
2.17.1