@@ -14,8 +14,18 @@
#include "../kselftest.h"
#include "parse_vdso.h"
+/*
+ * ARM64's vDSO exports its getcpu() implementation with a different
+ * name and version from other architectures, so we need to handle it
+ * as a special case.
+ */
+#if defined(__aarch64__)
+const char *version = "LINUX_2.6.39";
+const char *name = "__kernel_getcpu";
+#else
const char *version = "LINUX_2.6";
const char *name = "__vdso_getcpu";
+#endif
struct getcpu_cache;
typedef long (*getcpu_t)(unsigned int *, unsigned int *,
arm64 exports the vDSO ABI with a version of LINUX_2.6.39 and symbols prefixed with __kernel rather than __vdso. Update the getcpu() test to handle this. Signed-off-by: Mark Brown <broonie@kernel.org> --- tools/testing/selftests/vDSO/vdso_test_getcpu.c | 10 ++++++++++ 1 file changed, 10 insertions(+)