[Buildroot] [PATCH] package/libcap: add patch to fix build on ARC, OpenRISC, Microblaze
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Fri Apr 18 21:41:43 UTC 2025
Following the bump of libcap to version 2.76 in commit
e2eb2ee58b9f70ebb83231537cca19bd28fa48de, the build started failing on
ARC, OpenRISC, Microblaze. The bug was reported upstream at
https://bugzilla.kernel.org/show_bug.cgi?id=219915 and was
subsequently fixed by upstream commit:
https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=7a2eee56607218d017af8d26c2c41dba83629708
Which we backport in this commit.
Fixes:
http://autobuild.buildroot.net/results/c99f461ac757d2934a353818a302a67ef3ad5cf5/ (ARC)
http://autobuild.buildroot.net/results/8cae72f02d25a48287320d9c991f41761487e353/ (Microblaze)
http://autobuild.buildroot.net/results/74e2c4d37c5b0ae2749c7d77ca7431bd0d510971/ (OpenRISC)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
...-PSX-support-for-microblaze-arc-and-.patch | 56 +++++++++++++++++++
1 file changed, 56 insertions(+)
create mode 100644 package/libcap/0001-First-attempt-at-PSX-support-for-microblaze-arc-and-.patch
diff --git a/package/libcap/0001-First-attempt-at-PSX-support-for-microblaze-arc-and-.patch b/package/libcap/0001-First-attempt-at-PSX-support-for-microblaze-arc-and-.patch
new file mode 100644
index 0000000000..3f569d6d2c
--- /dev/null
+++ b/package/libcap/0001-First-attempt-at-PSX-support-for-microblaze-arc-and-.patch
@@ -0,0 +1,56 @@
+From 7a2eee56607218d017af8d26c2c41dba83629708 Mon Sep 17 00:00:00 2001
+From: "Andrew G. Morgan" <morgan at kernel.org>
+Date: Thu, 17 Apr 2025 20:20:09 -0700
+Subject: [PATCH] First attempt at PSX support for microblaze, arc and
+ openrisc.
+
+I found some confusing macrology for openrisc. I'm optimistic that
+this is recognized with the __or1k__ gcc macro.
+
+See for details:
+
+ https://bugzilla.kernel.org/show_bug.cgi?id=219915
+
+Signed-off-by: Andrew G. Morgan <morgan at kernel.org>
+Upstream: https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=7a2eee56607218d017af8d26c2c41dba83629708
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
+---
+ psx/psx_calls.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/psx/psx_calls.c b/psx/psx_calls.c
+index 9662fbd..8195964 100644
+--- a/psx/psx_calls.c
++++ b/psx/psx_calls.c
+@@ -48,7 +48,8 @@
+ || defined(__mips__) || defined(__loongarch__) \
+ || defined(__powerpc__) || defined(__s390__) || defined(__riscv) \
+ || defined(__alpha__) || defined(__hppa__) || defined(__sh__) \
+- || defined(__m68k__) || defined(__sparc__)
++ || defined(__m68k__) || defined(__sparc__) || defined(__arc__) \
++ || defined(__microblaze__) || defined(__or1k__)
+
+ #undef _NSIG
+ #undef _NSIG_BPW
+@@ -69,7 +70,8 @@
+
+ #if defined(__x86_64__) || defined(__i386__) \
+ || defined(__arm__) \
+- || defined(__powerpc__)
++ || defined(__powerpc__) \
++ || defined(__arc__)
+ /* field used */
+ #define SA_RESTORER 0x04000000
+ #endif /* architectures that use SA_RESTORER */
+@@ -201,6 +203,8 @@ static void psx_posix_syscall_actor(int signum, siginfo_t *info, void *ignore) {
+ __asm__ __volatile__("\npsx_restorer:\n\tmov r7,#173\n\tswi 0\n");
+ #elif defined(__powerpc__)
+ __asm__ __volatile__("\npsx_restorer:\n\tli 0, 172\n\tsc\n");
++#elif defined(__arc__)
++ __asm__ __volatile__("\npsx_restorer:\n\tmov r8, 139\n\ttrap_s 0\n");
+ #else
+ #error "unsupported architecture - https://bugzilla.kernel.org/show_bug.cgi?id=219687"
+ #endif /* supported architectures */
+--
+2.49.0
+
--
2.49.0
More information about the buildroot
mailing list