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 v2] vDSO cleanup


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(-)


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