glibc/sysdeps/unix/sysv/linux/arm
Nathan Lynch b65d3e5f0f ARM: VDSO support
Beginning with the upcoming 4.1 release, Linux on a subset of 32-bit
ARM hardware will provide fast user-space implementations of the
following system calls:

- gettimeofday
- clock_gettime

The kernel implementation depends on the ARMv7 Generic Timers
Extension to accelerate these system calls.  So CPUs such as
Cortex-A15 and -A7 benefit, while Cortex-A9, -A8, and pre-v7 CPUs do
not.  On systems where the VDSO does not provide any speedup, the
kernel prevents the relevant symbol lookups from succeeding.

On OMAP5 (Cortex-A15) gettimeofday latency decreases from ~350ns to
~120ns.  On BeagleBone Black (Cortex-A8) it goes from ~650ns to
~660ns, which to my mind is an acceptable cost.

Verified that no new test failures are introduced on kernels with and
without the VDSO.

	* sysdeps/unix/sysv/linux/arm/Makefile: (sysdep_routines):
	Include dl-vdso.
	* sysdeps/unix/sysv/linux/arm/init-first.c: New file:
	Use VDSO routines for gettimeofday, clock_gettime if
	available.
	* sysdeps/unix/sysv/linux/arm/libc-vdso.h: New file:
	Declare VDSO symbols.
	* sysdeps/unix/sysv/linux/arm/sysdep.h:
	[HAVE_GETTIMEOFDAY_VSYSCALL]: Define.
	[HAVE_CLOCK_GETTIME_VSYSCALL]: Define.
	* sysdeps/unix/sysv/linux/arm/Versions: Add
	__vdso_clock_gettime.
2015-06-04 21:10:43 +00:00
..
bits Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sys Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Implies NPTL is no longer an add-on! 2014-07-07 09:29:06 -07:00
Makefile ARM: VDSO support 2015-06-04 21:10:43 +00:00
Versions ARM: VDSO support 2015-06-04 21:10:43 +00:00
____longjmp_chk.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
aeabi_read_tp.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
alphasort64.c
arch-fork.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
arm-features.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
brk.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
c++-types.data
clone.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-cache.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-machine.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-procinfo.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-procinfo.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fcntl.c
ftruncate64.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fxstat.c
fxstatat.c
getcontext.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getdents64.c
getrlimit64.c
glob64.c
init-first.c ARM: VDSO support 2015-06-04 21:10:43 +00:00
ioperm.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
kernel-features.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ld.abilist
ldconfig.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ldsodefs.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
libBrokenLocale.abilist
libanl.abilist
libc-do-syscall.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
libc-vdso.h ARM: VDSO support 2015-06-04 21:10:43 +00:00
libc.abilist
libcrypt.abilist
libdl.abilist
libm.abilist
libnsl.abilist
libpthread.abilist
libresolv.abilist
librt.abilist
libthread_db.abilist
libutil.abilist
localplt.data Run check-localpltk/textrel/execstack over ld.so. 2014-11-06 15:48:44 -05:00
lockf64.c
lxstat.c
makecontext.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
mmap.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
mmap64.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
msgctl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
oldgetrlimit.c
oldgetrlimit64.c
oldsetrlimit.c
posix_fadvise.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
posix_fadvise64.c Fix ARM posix_fadvise64 namespace (bug 17793). 2015-01-05 16:05:34 +00:00
pread.c Function declaration cleanup 2015-01-06 08:23:58 -08:00
pread64.c Function declaration cleanup 2015-01-06 08:23:58 -08:00
profil-counter.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
pwrite.c Function declaration cleanup 2015-01-06 08:23:58 -08:00
pwrite64.c Function declaration cleanup 2015-01-06 08:23:58 -08:00
readahead.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
readdir64.c
readdir64_r.c
readelflib.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
register-dump.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
scandir64.c
semctl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
setcontext.S Bug 18125: Call exit after last linked context. 2015-05-08 11:29:38 -04:00
setegid.c
seteuid.c
setgid.c
setgroups.c
setregid.c
setresgid.c
setresuid.c
setreuid.c
setuid.c
shlib-versions Remove configuration name patterns from shlib-versions. 2014-09-12 12:28:47 +00:00
shmctl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sigaction.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sigcontextinfo.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sigrestorer.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
swapcontext.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
syscall.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
syscalls.list Move setfsgid/setfsuid definitions to syscalls.list (bug 14138). 2014-10-27 12:24:42 +00:00
sysdep-cancel.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sysdep.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sysdep.h ARM: VDSO support 2015-06-04 21:10:43 +00:00
tls.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
truncate64.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ucontext_i.sym
umount.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
versionsort64.c
vfork.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
xstat.c