• R
    clock_gettime: add support for 32-bit vdso with 64-bit time_t · 0705fe93
    Rich Felker 提交于
    this fixes a major upcoming performance regression introduced by
    commit 72f50245, whereby 32-bit archs
    would lose vdso clock_gettime after switching to 64-bit time_t, unless
    the kernel supports time64 and provides a time64 version of the vdso
    function. this would incur not just one but two syscalls: first, the
    failed time64 syscall, then the fallback time32 one.
    
    overflow of the 32-bit result is detected and triggers a revert to
    syscalls. normally, on a system that's not Y2038-ready, this would
    still overflow, but if the process has been migrated to a
    time64-capable kernel or if the kernel has been hot-patched to add
    time64 syscalls, it may conceivably work.
    0705fe93
clock_gettime.c 2.5 KB