mirror of https://gitee.com/openkylin/linux.git
selftests/timens: Fix gettime_perf to work on powerpc
On powerpc: - VDSO library is named linux-vdso32.so.1 or linux-vdso64.so.1 - clock_gettime is named __kernel_clock_gettime() Ensure gettime_perf tries these names before giving up. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/469f37ab91984309eb68c0fb47e8438cdf5b6463.1617198956.git.christophe.leroy@csgroup.eu
This commit is contained in:
parent
92d9d61be5
commit
f56607e85e
|
@ -25,12 +25,20 @@ static void fill_function_pointers(void)
|
|||
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) {
|
||||
pr_err("[WARN]\tfailed to find vDSO\n");
|
||||
return;
|
||||
}
|
||||
|
||||
vdso_clock_gettime = (vgettime_t)dlsym(vdso, "__vdso_clock_gettime");
|
||||
if (!vdso_clock_gettime)
|
||||
vdso_clock_gettime = (vgettime_t)dlsym(vdso, "__kernel_clock_gettime");
|
||||
if (!vdso_clock_gettime)
|
||||
pr_err("Warning: failed to find clock_gettime in vDSO\n");
|
||||
|
||||
|
|
Loading…
Reference in New Issue