summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@mit.edu>2011-08-05 16:26:51 -0400
committerAndy Lutomirski <luto@mit.edu>2011-08-05 16:26:51 -0400
commite2ac42169006d76325ddc13f3ff84e979f031d44 (patch)
tree58a9e94cb155dd4c8975d7b848d696d6df6bd600
parent20eea16dfe46b7fc1025ffcea5402c717ef1662d (diff)
downloadmisc-tests-e2ac42169006d76325ddc13f3ff84e979f031d44.tar.gz
test_vsyscall: Handle missing vdso better
-rw-r--r--test_vsyscall.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/test_vsyscall.cc b/test_vsyscall.cc
index cbb1fe7..4f0a3b0 100644
--- a/test_vsyscall.cc
+++ b/test_vsyscall.cc
@@ -180,14 +180,15 @@ int test(int argc, char **argv)
printf("Testing getcpu...\n");
unsigned cpu_vdso, cpu_vsys, node_vdso, node_vsys;
- ret_vdso = vdso_getcpu(&cpu_vdso, &node_vdso, 0);
+ if (vdso_getcpu)
+ ret_vdso = vdso_getcpu(&cpu_vdso, &node_vdso, 0);
ret_vsys = vgetcpu(&cpu_vsys, &node_vsys, 0);
- if (ret_vdso)
+ if (ret_vdso && vdso_getcpu)
printf(" vDSO failed (ret:%ld)\n", (unsigned long)ret_vdso);
if (ret_vsys)
printf(" vsyscall failed (ret:%ld)\n", (unsigned long)ret_vdso);
if (ret_vdso == 0 && ret_vsys == 0) {
- if (cpu_vdso != cpu_vsys)
+ if (vdso_getcpu && cpu_vdso != cpu_vsys)
printf(" cpu mismatch (vdso:%u vsyscall:%u)!\n", cpu_vdso, cpu_vsys);
else if (node_vdso != node_vsys)
printf(" node mismatch (vdso:%u vsyscall:%u)!\n", node_vdso, node_vsys);