selftests/vDSO: fix building errors on LoongArch
authorTiezhu Yang <yangtiezhu@loongson.cn>
Sun, 28 Apr 2024 03:05:29 +0000 (11:05 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 6 May 2024 00:28:07 +0000 (17:28 -0700)
Patch series "selftests/vDSO: Fix errors on LoongArch", v4.

This patch (of 2):

There exist the following errors when build vDSO selftests on LoongArch:

  # make headers && cd tools/testing/selftests/vDSO && make
  ...
  error: 'VDSO_VERSION' undeclared (first use in this function)
  ...
  error: 'VDSO_NAMES' undeclared (first use in this function)

We can see the following code in arch/loongarch/vdso/vdso.lds.S:

VERSION
{
        LINUX_5.10 {
        global:
                __vdso_getcpu;
                __vdso_clock_getres;
                __vdso_clock_gettime;
                __vdso_gettimeofday;
                __vdso_rt_sigreturn;
        local: *;
        };
}

so VDSO_VERSION should be 6 and VDSO_NAMES should be 1 for LoongArch,
add them to fix the building errors on LoongArch.

Link: https://lkml.kernel.org/r/20240428030530.24399-1-yangtiezhu@loongson.cn
Link: https://lkml.kernel.org/r/20240428030530.24399-2-yangtiezhu@loongson.cn
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Mark Brown <broonie@kernel.org>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
tools/testing/selftests/vDSO/vdso_config.h

index cdfed403ba13f8da481fba1899aeb236c21585eb..7b543e7f04d7b0b7493d537d46f5d226612b7914 100644 (file)
 #if __riscv_xlen == 32
 #define VDSO_32BIT             1
 #endif
+#elif defined(__loongarch__)
+#define VDSO_VERSION           6
+#define VDSO_NAMES             1
 #endif
 
-static const char *versions[6] = {
+static const char *versions[7] = {
        "LINUX_2.6",
        "LINUX_2.6.15",
        "LINUX_2.6.29",
        "LINUX_2.6.39",
        "LINUX_4",
        "LINUX_4.15",
+       "LINUX_5.10"
 };
 
 static const char *names[2][6] = {