[LTP] [PATCH] syscalls: arch_prctl01.c fix compilation on old distros

Cyril Hrubis metan@ucw.cz
Thu May 9 14:09:42 CEST 2024


From: Cyril Hrubis <chrubis@suse.cz>

There are distros that have asm/prctl.h without the ARCH_{GET,SET}_CPUID
definitions, fix the compilation on such distributions by adding
lapi/arch_prctl.h.

Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
---
 include/lapi/arch_prctl.h                          | 22 ++++++++++++++++++++++
 .../kernel/syscalls/arch_prctl/arch_prctl01.c      |  7 +------
 2 files changed, 23 insertions(+), 6 deletions(-)
 create mode 100644 include/lapi/arch_prctl.h

diff --git a/include/lapi/arch_prctl.h b/include/lapi/arch_prctl.h
new file mode 100644
index 000000000..6d0ef51f4
--- /dev/null
+++ b/include/lapi/arch_prctl.h
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (c) 2024 Cyril Hrubis <chrubis@suse.cz>
+ */
+#ifndef LAPI_ARCH_PRCTL_H__
+#define LAPI_ARCH_PRCTL_H__
+
+#include "config.h"
+
+#ifdef HAVE_ASM_PRCTL_H
+# include <asm/prctl.h>
+#endif
+
+#ifndef ARCH_GET_CPUID
+# define ARCH_GET_CPUID 1011
+#endif
+
+#ifndef ARCH_SET_CPUID
+# define ARCH_SET_CPUID 1012
+#endif
+
+#endif /* LAPI_ARCH_PRCTL_H__ */
diff --git a/testcases/kernel/syscalls/arch_prctl/arch_prctl01.c b/testcases/kernel/syscalls/arch_prctl/arch_prctl01.c
index e30b5667a..b98ef99d2 100644
--- a/testcases/kernel/syscalls/arch_prctl/arch_prctl01.c
+++ b/testcases/kernel/syscalls/arch_prctl/arch_prctl01.c
@@ -13,10 +13,9 @@
 #include "tst_test.h"
 #include "tst_safe_stdio.h"
 #include "lapi/syscalls.h"
+#include "lapi/arch_prctl.h"
 #include <stdlib.h>
 #include <string.h>
-#ifdef HAVE_ASM_PRCTL_H
-#include <asm/prctl.h>
 
 static int arch_prctl_get(int code)
 {
@@ -76,7 +75,3 @@ static struct tst_test test = {
 	.min_kver = "4.12",
 	.supported_archs = (const char *const []){"x86_64", "x86", NULL}
 };
-
-#else /* HAVE_ASM_PRCTL_H */
-TST_TEST_TCONF("missing <asm/prctl.h>");
-#endif
-- 
2.12.3



More information about the ltp mailing list