On some architectures, when the kernel loads any userspace program itmaps an ELF DSO into that program's address space. This DSO is calledthe vDSO and it often contains useful and highly-optimized alternativesto real syscalls.These functions are called just like ordinary C function according toyour platform's ABI. Call them from a sensible context. (For example,if you set CS on x86 to something strange, the vDSO functions arewithin their rights to crash.) In addition, if you pass a badpointer to a vDSO function, you might get SIGSEGV instead of -EFAULT.To find the DSO, parse the auxiliary vector passed to the program'sentry point. The AT_SYSINFO_EHDR entry will point to the vDSO.The vDSO uses symbol versioning; whenever you request a symbol from thevDSO, specify the version you are expecting.Programs that dynamically link to glibc will use the vDSO automatically.
Unless otherwise noted, the set of symbols with any given version and theABI of those symbols is considered stable. It may vary across architectures,though.(As of this writing, this ABI documentation as been confirmed for x86_64. The maintainers of the other vDSO-using architectures should confirm