• Tobias Klauser's avatar
    selftests/vDSO: fix ABI selftest on riscv · f405ac83
    Tobias Klauser authored
    Only older versions of the RISC-V GCC toolchain define __riscv__. Check
    for __riscv as well, which is used by newer GCC toolchains. Also set
    VDSO_32BIT based on __riscv_xlen.
    
    Before (on riscv64):
    
    $ ./vdso_test_abi
    [vDSO kselftest] VDSO_VERSION: LINUX_4
    Could not find __vdso_gettimeofday
    Could not find __vdso_clock_gettime
    Could not find __vdso_clock_getres
    clock_id: CLOCK_REALTIME [PASS]
    Could not find __vdso_clock_gettime
    Could not find __vdso_clock_getres
    clock_id: CLOCK_BOOTTIME [PASS]
    Could not find __vdso_clock_gettime
    Could not find __vdso_clock_getres
    clock_id: CLOCK_TAI [PASS]
    Could not find __vdso_clock_gettime
    Could not find __vdso_clock_getres
    clock_id: CLOCK_REALTIME_COARSE [PASS]
    Could not find __vdso_clock_gettime
    Could not find __vdso_clock_getres
    clock_id: CLOCK_MONOTONIC [PASS]
    Could not find __vdso_clock_gettime
    Could not find __vdso_clock_getres
    clock_id: CLOCK_MONOTONIC_RAW [PASS]
    Could not find __vdso_clock_gettime
    Could not find __vdso_clock_getres
    clock_id: CLOCK_MONOTONIC_COARSE [PASS]
    Could not find __vdso_time
    
    After (on riscv32):
    
    $ ./vdso_test_abi
    [vDSO kselftest] VDSO_VERSION: LINUX_4.15
    The time is 1612449376.015086
    The time is 1612449376.18340784
    The resolution is 0 1
    clock_id: CLOCK_REALTIME [PASS]
    The time is 774.842586182
    The resolution is 0 1
    clock_id: CLOCK_BOOTTIME [PASS]
    The time is 1612449376.22536565
    The resolution is 0 1
    clock_id: CLOCK_TAI [PASS]
    The time is 1612449376.20885172
    The resolution is 0 4000000
    clock_id: CLOCK_REALTIME_COARSE [PASS]
    The time is 774.845491269
    The resolution is 0 1
    clock_id: CLOCK_MONOTONIC [PASS]
    The time is 774.849534200
    The resolution is 0 1
    clock_id: CLOCK_MONOTONIC_RAW [PASS]
    The time is 774.842139684
    The resolution is 0 4000000
    clock_id: CLOCK_MONOTONIC_COARSE [PASS]
    Could not find __vdso_time
    Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
    Reviewed-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
    Acked-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
    Acked-by: default avatarVincenzo Frascino <vincenzo.frascino@arm.com>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    f405ac83
vdso_config.h 1.96 KB