From 204c20483490e3470ada0ad183fbb5b692f6eefb Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 17 Sep 2024 21:41:31 -0700 Subject: kernel-selftest: Fix build on 32bit arches with 64bit time_t Fix warning where S is expected to exist before do_configure Signed-off-by: Khem Raj --- .../kernel-selftest/kernel-selftest.bb | 3 ++ ...imers-Fix-clock_adjtime-for-newer-32-bit-.patch | 34 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/0001-selftests-timers-Fix-clock_adjtime-for-newer-32-bit-.patch diff --git a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb index 3f57ef3bfd..889fe3e22d 100644 --- a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb +++ b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb @@ -12,6 +12,7 @@ SRC_URI:append:libc-musl = "\ " SRC_URI += "file://run-ptest \ file://COPYING \ + file://0001-selftests-timers-Fix-clock_adjtime-for-newer-32-bit-.patch \ " # now we just test bpf and vm @@ -149,6 +150,8 @@ remove_unrelated() { fi } +do_configure[dirs] = "${S}" + PACKAGE_ARCH = "${MACHINE_ARCH}" INHIBIT_PACKAGE_DEBUG_SPLIT="1" diff --git a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/0001-selftests-timers-Fix-clock_adjtime-for-newer-32-bit-.patch b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/0001-selftests-timers-Fix-clock_adjtime-for-newer-32-bit-.patch new file mode 100644 index 0000000000..bf5525c361 --- /dev/null +++ b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/0001-selftests-timers-Fix-clock_adjtime-for-newer-32-bit-.patch @@ -0,0 +1,34 @@ +From 34021e84d03e2becb88e6c28e8e4867e82a81da5 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 17 Sep 2024 17:40:03 -0700 +Subject: [PATCH] selftests: timers: Fix clock_adjtime for newer 32-bit arches + +Newer 32-bit architectures e.g. riscv32 are using 64-bit time_t +from get go, they have not wired __NR_clock_adjtime at all +valid-adjtimex testcase fails to compile on such architectures. +if this condition is found then use 64-bit adjtime syscall + +Upstream-Status: Submitted [https://patchwork.kernel.org/project/linux-kselftest/patch/20240918004731.3295870-1-raj.khem@gmail.com/] +Signed-off-by: Khem Raj +Cc: John Stultz +Cc: Shuah Khan +--- + tools/testing/selftests/timers/valid-adjtimex.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/tools/testing/selftests/timers/valid-adjtimex.c b/tools/testing/selftests/timers/valid-adjtimex.c +index d500884801d8..ff4ff8b1d127 100644 +--- a/tools/testing/selftests/timers/valid-adjtimex.c ++++ b/tools/testing/selftests/timers/valid-adjtimex.c +@@ -39,7 +39,11 @@ + #include + int clock_adjtime(clockid_t id, struct timex *tx) + { ++#if !defined(__NR_clock_adjtime) && defined(__NR_clock_adjtime64) ++ return syscall(__NR_clock_adjtime64, id, tx); ++#else + return syscall(__NR_clock_adjtime, id, tx); ++#endif + } + + -- cgit v1.2.3-54-g00ecf