Since its introduction in commitb05e74ff92
in 2013, numactl has had an explicit list of architectures that it supports. Interestingly, this list does not include ARM, and now that rt-tests unconditionally needs numactl, it meant the rt-tests package was no longer available on ARM. Further investigation revealed that there is nothing in recent versions of numactl that appears to be architecture-specific. It does build with all of Buildroot toolchains currently used in the autobuilders. The only necessary changes are: * Exclude no-MMU architectures, as madvise() is used in the code base, and this is not available on no-MMU architectures. * Make sure to use -latomic when needed, as some atomic operations are used. * Backport a patch that fixes the .symver usage, which only affects really old gcc versions: only the old ARM Sourcery toolchain was affected by this. Newer gcc versions support the gcc "symver" attribute, so that the code that directly emits the assembly .symver directive is not invoked. With these changes, numactl builds successfully on all our supported toolchains. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> (cherry picked from commit4ed540ddf5
) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
26 lines
732 B
Diff
26 lines
732 B
Diff
From f96c96af7fbf2779b15f66f03b10315a24fb4f5a Mon Sep 17 00:00:00 2001
|
|
From: Scott McMillan <smcmillan@nvidia.com>
|
|
Date: Fri, 9 Oct 2020 08:56:52 -0500
|
|
Subject: [PATCH] Do not stringify SYMVER symbols
|
|
|
|
Upstream: f96c96af7fbf2779b15f66f03b10315a24fb4f5a
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
---
|
|
util.h | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/util.h b/util.h
|
|
index 99ada33..f2a20ac 100644
|
|
--- a/util.h
|
|
+++ b/util.h
|
|
@@ -22,5 +22,5 @@ extern char *policy_name(int policy);
|
|
#if HAVE_ATTRIBUTE_SYMVER
|
|
#define SYMVER(a,b) __attribute__ ((symver (b)))
|
|
#else
|
|
-#define SYMVER(a,b) __asm__ (".symver " #a "," #b);
|
|
+#define SYMVER(a,b) __asm__ (".symver " a "," b);
|
|
#endif
|
|
--
|
|
2.30.2
|
|
|