This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH v2] vDSO cleanup
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: libc-alpha at sourceware dot org
- Date: Mon, 20 Apr 2015 13:47:46 -0300
- Subject: [PATCH v2] vDSO cleanup
- Authentication-results: sourceware.org; auth=none
Hi all,
Motivate by the recent ARM32 vDSO RFC patch [1], this is second spin on
a vDSO cleanup patches. As before the idea ia to simplify current
implementation and make it easier to add further vDSO symbols on other
arches..
The patchset is divided in three parts:
1. Create a default sysdep-vdso.h header with vdso symbol access to be
used on all arches. It also consolidates the PTR_MANGLE/DEMANGLE on
all ports.
2. Consolidate gettimeofday across aarch64/s390/tile: this simplify current
implementation for this arch by eliminating shard code.
3. x86: clock_gettime and timespec_get vDSO cleanup: simplify the x86
implementation by using the HAVE_CLOCK_GETTIME_VSYSCALL used by other
arches.
I have tested this patchset on the machines I have access: i686, x86_64,
arm-gnu-eabi, arm-gnu-eabihf, aarch64, and powerpc64le. I have also built
on s390-linux, s390x-linux and tilepro-linux to check for build breaks.
--
ChangeLog | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sysdeps/unix/sysv/linux/aarch64/gettimeofday.c | 38 --------------------------------------
sysdeps/unix/sysv/linux/aarch64/init-first.c | 20 ++++++++++++++------
sysdeps/unix/sysv/linux/aarch64/libc-vdso.h | 8 +++++---
sysdeps/unix/sysv/linux/aarch64/sysdep.h | 54 +-----------------------------------------------------
sysdeps/unix/sysv/linux/clock_getres.c | 10 +++-------
sysdeps/unix/sysv/linux/clock_gettime.c | 23 +++++------------------
sysdeps/unix/sysv/linux/gettimeofday.c | 39 +++++++++++++++++++++++++++++++++++++++
sysdeps/unix/sysv/linux/i386/init-first.c | 6 +++---
sysdeps/unix/sysv/linux/i386/sysdep.h | 4 ++++
sysdeps/unix/sysv/linux/powerpc/init-first.c | 56 +++++++++++++++++++++++++++++++++++++-------------------
sysdeps/unix/sysv/linux/powerpc/libc-vdso.h | 24 +++++++++++-------------
sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h | 95 +++++++++++++++++++++++-----------------------------------------------------------------------
sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h | 72 +++++++++--------------------------------------------------------------
sysdeps/unix/sysv/linux/powerpc/sched_getcpu.c | 3 +--
sysdeps/unix/sysv/linux/s390/gettimeofday.c | 39 ---------------------------------------
sysdeps/unix/sysv/linux/s390/init-first.c | 23 +++++++++++++++--------
sysdeps/unix/sysv/linux/s390/libc-vdso.h | 14 ++++++++------
sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h | 64 +++++----------------------------------------------------------
sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h | 64 +++++----------------------------------------------------------
sysdeps/unix/sysv/linux/sysdep-vdso.h | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sysdeps/unix/sysv/linux/tile/gettimeofday.c | 32 --------------------------------
sysdeps/unix/sysv/linux/tile/init-first.c | 18 ++++++++++++------
sysdeps/unix/sysv/linux/tile/libc-vdso.h | 14 ++++++++------
sysdeps/unix/sysv/linux/tile/sysdep.h | 69 +++++++++-----------------------------------------------------------
sysdeps/unix/sysv/linux/timespec_get.c | 21 ++++++---------------
sysdeps/unix/sysv/linux/x86/clock_gettime.c | 34 ----------------------------------
sysdeps/unix/sysv/linux/x86/libc-vdso.h | 4 +++-
sysdeps/unix/sysv/linux/x86/timespec_get.c | 29 -----------------------------
sysdeps/unix/sysv/linux/x86_64/init-first.c | 9 +++++----
sysdeps/unix/sysv/linux/x86_64/sysdep.h | 57 +++------------------------------------------------------
31 files changed, 459 insertions(+), 709 deletions(-)