package/libunwind: enable on AArch64
Since version 1.2, libunwind has support for the AArch64 architecture. It builds fine on glibc, needs a small patch on musl, but doesn't build with uClibc (stack_t undefined). Fixes: https://bugs.busybox.net/show_bug.cgi?id=12836 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
df7ffdcc81
commit
fcfdd8a80d
@ -0,0 +1,46 @@
|
||||
From b9627ed74ab1f58be0de075be68d5cd2e96b8750 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Date: Sun, 3 May 2020 23:08:54 +0200
|
||||
Subject: [PATCH] Use sigset_t instead of __sigset_t on AArch64
|
||||
|
||||
This fixes the build with the musl C library. sigset_t is the
|
||||
documented type exposed by <signal.h>.
|
||||
|
||||
This fix comes from Alpine Linux:
|
||||
|
||||
https://git.alpinelinux.org/aports/plain/main/libunwind/fix-aarch64-sigset_t.patch
|
||||
|
||||
It was authored by Leo <thinkabit.ukim@gmail.com>.
|
||||
|
||||
The issue has been reported upstream at
|
||||
https://github.com/libunwind/libunwind/issues/176.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
include/libunwind-aarch64.h | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/libunwind-aarch64.h b/include/libunwind-aarch64.h
|
||||
index 778b4362..926fbbc0 100644
|
||||
--- a/include/libunwind-aarch64.h
|
||||
+++ b/include/libunwind-aarch64.h
|
||||
@@ -34,6 +34,7 @@ extern "C" {
|
||||
#include <inttypes.h>
|
||||
#include <stddef.h>
|
||||
#include <ucontext.h>
|
||||
+#include <signal.h>
|
||||
|
||||
#define UNW_TARGET aarch64
|
||||
#define UNW_TARGET_AARCH64 1
|
||||
@@ -192,7 +193,7 @@ typedef struct
|
||||
unsigned long uc_flags;
|
||||
struct ucontext *uc_link;
|
||||
stack_t uc_stack;
|
||||
- __sigset_t uc_sigmask;
|
||||
+ sigset_t uc_sigmask;
|
||||
struct unw_sigcontext uc_mcontext;
|
||||
} unw_tdep_context_t;
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
@ -10,13 +10,14 @@
|
||||
config BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if BR2_TOOLCHAIN_USES_GLIBC && \
|
||||
(BR2_ARM_CPU_HAS_ARM || BR2_mips || BR2_mipsel || BR2_mips64 || \
|
||||
BR2_mips64el || BR2_powerpc || BR2_sh || BR2_i386 || BR2_x86_64)
|
||||
(BR2_ARM_CPU_HAS_ARM || BR2_aarch64 || BR2_mips || BR2_mipsel || \
|
||||
BR2_mips64 || BR2_mips64el || BR2_powerpc || BR2_sh || \
|
||||
BR2_i386 || BR2_x86_64)
|
||||
default y if BR2_TOOLCHAIN_USES_UCLIBC && \
|
||||
(BR2_ARM_CPU_HAS_ARM || BR2_mips || BR2_mipsel || \
|
||||
BR2_mips64 || BR2_mips64el || BR2_x86_64)
|
||||
default y if BR2_TOOLCHAIN_USES_MUSL && \
|
||||
(BR2_ARM_CPU_HAS_ARM || BR2_x86_64)
|
||||
(BR2_ARM_CPU_HAS_ARM || BR2_aarch64 || BR2_x86_64)
|
||||
|
||||
config BR2_PACKAGE_LIBUNWIND
|
||||
bool "libunwind"
|
||||
|
Loading…
Reference in New Issue
Block a user