diff options
author | Andy Lutomirski <luto@mit.edu> | 2011-08-05 16:26:51 -0400 |
---|---|---|
committer | Andy Lutomirski <luto@mit.edu> | 2011-08-05 16:26:51 -0400 |
commit | e2ac42169006d76325ddc13f3ff84e979f031d44 (patch) | |
tree | 58a9e94cb155dd4c8975d7b848d696d6df6bd600 | |
parent | 20eea16dfe46b7fc1025ffcea5402c717ef1662d (diff) | |
download | misc-tests-e2ac42169006d76325ddc13f3ff84e979f031d44.tar.gz |
test_vsyscall: Handle missing vdso better
-rw-r--r-- | test_vsyscall.cc | 7 |
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); |