]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests: vDSO: fix vDSO name for powerpc
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Fri, 30 Aug 2024 12:28:35 +0000 (14:28 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Fri, 30 Aug 2024 13:48:45 +0000 (15:48 +0200)
Following error occurs when running vdso_test_correctness on powerpc:

~ # ./vdso_test_correctness
[WARN] failed to find vDSO
[SKIP] No vDSO, so skipping clock_gettime() tests
[SKIP] No vDSO, so skipping clock_gettime64() tests
[RUN] Testing getcpu...
[OK] CPU 0: syscall: cpu 0, node 0

On powerpc, vDSO is neither called linux-vdso.so.1 nor linux-gate.so.1
but linux-vdso32.so.1 or linux-vdso64.so.1.

Also search those two names before giving up.

Fixes: c7e5789b24d3 ("kselftest: Move test_vdso to the vDSO test suite")
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
tools/testing/selftests/vDSO/vdso_test_correctness.c

index e691a3cf14911237190c048f658830078dc90c3b..cdb697ae8343ccb55be7abc5cf37fe5f25dc11f9 100644 (file)
@@ -114,6 +114,12 @@ static void fill_function_pointers()
        if (!vdso)
                vdso = dlopen("linux-gate.so.1",
                              RTLD_LAZY | RTLD_LOCAL | RTLD_NOLOAD);
+       if (!vdso)
+               vdso = dlopen("linux-vdso32.so.1",
+                             RTLD_LAZY | RTLD_LOCAL | RTLD_NOLOAD);
+       if (!vdso)
+               vdso = dlopen("linux-vdso64.so.1",
+                             RTLD_LAZY | RTLD_LOCAL | RTLD_NOLOAD);
        if (!vdso) {
                printf("[WARN]\tfailed to find vDSO\n");
                return;