public inbox for buildroot@busybox.net
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] package/libunwind: enable on AArch64
Date: Sun,  3 May 2020 23:26:39 +0200	[thread overview]
Message-ID: <20200503212640.189571-1-thomas.petazzoni@bootlin.com> (raw)

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>
---
 ...t_t-instead-of-__sigset_t-on-AArch64.patch | 46 +++++++++++++++++++
 package/libunwind/Config.in                   |  7 +--
 2 files changed, 50 insertions(+), 3 deletions(-)
 create mode 100644 package/libunwind/0002-Use-sigset_t-instead-of-__sigset_t-on-AArch64.patch

diff --git a/package/libunwind/0002-Use-sigset_t-instead-of-__sigset_t-on-AArch64.patch b/package/libunwind/0002-Use-sigset_t-instead-of-__sigset_t-on-AArch64.patch
new file mode 100644
index 0000000000..035bdae803
--- /dev/null
+++ b/package/libunwind/0002-Use-sigset_t-instead-of-__sigset_t-on-AArch64.patch
@@ -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
+
diff --git a/package/libunwind/Config.in b/package/libunwind/Config.in
index be576d13c4..5284b5864c 100644
--- a/package/libunwind/Config.in
+++ b/package/libunwind/Config.in
@@ -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"
-- 
2.26.2

             reply	other threads:[~2020-05-03 21:26 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-03 21:26 Thomas Petazzoni [this message]
2020-05-16 13:42 ` [Buildroot] [PATCH] package/libunwind: enable on AArch64 Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200503212640.189571-1-thomas.petazzoni@bootlin.com \
    --to=thomas.petazzoni@bootlin.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox