musl/src/internal/vdso.c, branch master musl - an implementation of the standard library for Linux-based systems treat null vdso base same as missing 2016年11月11日T17:58:27+00:00 Bobby Bingham koorogi@koorogi.info 2016年07月26日T03:52:58+00:00 54482898abe8d6d937ee67ea5974cd8eae859c37 On s390x, the kernel provides AT_SYSINFO_EHDR, but sets it to zero, if the program being run does not have a program interpreter. This causes problems when running the dynamic linker directly.
On s390x, the kernel provides AT_SYSINFO_EHDR, but sets it to zero, if the
program being run does not have a program interpreter. This causes
problems when running the dynamic linker directly.
generalize ELF hash table types not to assume 32-bit entries 2016年11月11日T17:46:06+00:00 Rich Felker dalias@aerifal.cx 2016年11月11日T17:30:24+00:00 b418ea1b66d0d5a08640d4edf3b65d4619c6ef7f alpha and s390x gratuitously use 64-bit entries (wasting 2x space and cache utilization) despite the values always being 32-bit. based on patch by Bobby Bingham, with changes suggested by Alexander Monakov to use the public Elf_Symndx type from link.h (and make it properly variable by arch) rather than adding new internal infrastructure for handling the type.
alpha and s390x gratuitously use 64-bit entries (wasting 2x space and
cache utilization) despite the values always being 32-bit.
based on patch by Bobby Bingham, with changes suggested by Alexander
Monakov to use the public Elf_Symndx type from link.h (and make it
properly variable by arch) rather than adding new internal
infrastructure for handling the type.
add working vdso clock_gettime support, including static linking 2014年04月16日T06:33:29+00:00 Rich Felker dalias@aerifal.cx 2014年04月16日T06:33:29+00:00 58e75db47160bc7bcac2ae98a7a8660b8fce35c9 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.
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.

AltStyle によって変換されたページ (->オリジナル) /