add working vdso clock_gettime support, including static linking
authorRich Felker <dalias@aerifal.cx>
Wed, 16 Apr 2014 06:33:29 +0000 (02:33 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 16 Apr 2014 06:33:29 +0000 (02:33 -0400)
commit58e75db47160bc7bcac2ae98a7a8660b8fce35c9
treefc8059d8f3289b50dff67ccce6224ca6e3348741
parent0d0c2f40344640a2a6942dda156509593f51db5d
add working vdso clock_gettime support, including static linking

the vdso symbol lookup code is based on the original 2011 patch by
Nicholas J. Kain, with some streamlining, pointer arithmetic fixes,
and one symbol version matching fix.

on the consumer side (clock_gettime), per-arch macros for the
particular symbol name and version to lookup are added in
syscall_arch.h, and no vdso code is pulled in on archs which do not
define these macros. at this time, vdso is enabled only on x86_64.

the vdso support at the dynamic linker level is no longer useful to
libc, but is left in place for the sake of debuggers (which may need
the vdso in the link map to find its functions) and possibly use with
dlsym.
arch/x86_64/syscall_arch.h
src/internal/vdso.c [new file with mode: 0644]
src/time/clock_gettime.c