public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/libunwind] epel9: try this
@ 2026-06-15 10:27 Tom Callaway
  0 siblings, 0 replies; only message in thread
From: Tom Callaway @ 2026-06-15 10:27 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/libunwind
Branch : epel9
Commit : 883612a821b77cd17f55c8ed9bcae9f6ed2ab515
Author : Tom Callaway <spot@fedoraproject.org>
Date   : 2024-01-29T17:18:26-05:00
Stats  : +99/-1 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/libunwind/c/883612a821b77cd17f55c8ed9bcae9f6ed2ab515?branch=epel9

Log:
try this

---
diff --git a/714.patch b/714.patch
new file mode 100644
index 0000000..cfb3efe
--- /dev/null
+++ b/714.patch
@@ -0,0 +1,84 @@
+From b22db9e003fb7b7a44533b91c811db76befb7528 Mon Sep 17 00:00:00 2001
+From: Andrew Au <andrewau@microsoft.com>
+Date: Wed, 24 Jan 2024 15:14:12 -0800
+Subject: [PATCH 1/2] Fix issue #713
+
+---
+ src/dwarf/Gget_proc_info_in_range.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/dwarf/Gget_proc_info_in_range.c b/src/dwarf/Gget_proc_info_in_range.c
+index 5701c5d2d..65cc15139 100644
+--- a/src/dwarf/Gget_proc_info_in_range.c
++++ b/src/dwarf/Gget_proc_info_in_range.c
+@@ -58,8 +58,9 @@ unw_get_proc_info_in_range (unw_word_t        start_ip,
+     if (eh_frame_table != 0) {
+         unw_accessors_t *a = unw_get_accessors_int (as);
+ 
+-        struct dwarf_eh_frame_hdr* exhdr = NULL;
+-        if ((*a->access_mem)(as, eh_frame_table, (unw_word_t*)&exhdr, 0, arg) < 0) {
++        struct dwarf_eh_frame_hdr exhdr1;
++        struct dwarf_eh_frame_hdr* exhdr = &exhdr1;
++        if ((*a->access_mem)(as, eh_frame_table, (unw_word_t*)exhdr, 0, arg) < 0) {
+             return -UNW_EINVAL;
+         }
+ 
+
+From 3cbb4019c695dea2430186c1b19b0067a97a1422 Mon Sep 17 00:00:00 2001
+From: Andrew Au <andrewau@microsoft.com>
+Date: Fri, 26 Jan 2024 13:27:04 -0800
+Subject: [PATCH 2/2] New version
+
+---
+ src/dwarf/Gget_proc_info_in_range.c | 17 ++++++++---------
+ 1 file changed, 8 insertions(+), 9 deletions(-)
+
+diff --git a/src/dwarf/Gget_proc_info_in_range.c b/src/dwarf/Gget_proc_info_in_range.c
+index 65cc15139..788aa7a13 100644
+--- a/src/dwarf/Gget_proc_info_in_range.c
++++ b/src/dwarf/Gget_proc_info_in_range.c
+@@ -58,14 +58,13 @@ unw_get_proc_info_in_range (unw_word_t        start_ip,
+     if (eh_frame_table != 0) {
+         unw_accessors_t *a = unw_get_accessors_int (as);
+ 
+-        struct dwarf_eh_frame_hdr exhdr1;
+-        struct dwarf_eh_frame_hdr* exhdr = &exhdr1;
+-        if ((*a->access_mem)(as, eh_frame_table, (unw_word_t*)exhdr, 0, arg) < 0) {
++        struct dwarf_eh_frame_hdr exhdr;
++        if ((*a->access_mem)(as, eh_frame_table, (unw_word_t*)&exhdr, 0, arg) < 0) {
+             return -UNW_EINVAL;
+         }
+ 
+-        if (exhdr->version != DW_EH_VERSION) {
+-            Debug (1, "Unexpected version %d\n", exhdr->version);
++        if (exhdr.version != DW_EH_VERSION) {
++            Debug (1, "Unexpected version %d\n", exhdr.version);
+             return -UNW_EBADVERSION;
+         }
+         unw_word_t addr = eh_frame_table + offsetof(struct dwarf_eh_frame_hdr, eh_frame);
+@@ -73,12 +72,12 @@ unw_get_proc_info_in_range (unw_word_t        start_ip,
+         unw_word_t fde_count;
+ 
+         /* read eh_frame_ptr */
+-        if ((ret = dwarf_read_encoded_pointer(as, a, &addr, exhdr->eh_frame_ptr_enc, pi, &eh_frame_start, arg)) < 0) {
++        if ((ret = dwarf_read_encoded_pointer(as, a, &addr, exhdr.eh_frame_ptr_enc, pi, &eh_frame_start, arg)) < 0) {
+             return ret;
+         }
+ 
+         /* read fde_count */
+-        if ((ret = dwarf_read_encoded_pointer(as, a, &addr, exhdr->fde_count_enc, pi, &fde_count, arg)) < 0) {
++        if ((ret = dwarf_read_encoded_pointer(as, a, &addr, exhdr.fde_count_enc, pi, &fde_count, arg)) < 0) {
+             return ret;
+         }
+ 
+@@ -88,8 +87,8 @@ unw_get_proc_info_in_range (unw_word_t        start_ip,
+             return -UNW_ENOINFO;
+         }
+ 
+-        if (exhdr->table_enc != (DW_EH_PE_datarel | DW_EH_PE_sdata4)) {
+-            Debug (1, "Table encoding not supported %x\n", exhdr->table_enc);
++        if (exhdr.table_enc != (DW_EH_PE_datarel | DW_EH_PE_sdata4)) {
++            Debug (1, "Table encoding not supported %x\n", exhdr.table_enc);
+             return -UNW_EINVAL;
+         }
+ 

diff --git a/libunwind.spec b/libunwind.spec
index 737e4d5..25bac3b 100644
--- a/libunwind.spec
+++ b/libunwind.spec
@@ -35,7 +35,9 @@
 #     Ltest-resume-sig-rt
 #     test-ptrace
 
-%ifarch aarch64 i686 ppc64le s390x
+# these tests are... buggy.
+
+%ifarch aarch64 i686 ppc64le s390x x86_64
 %global test_failure_override true
 %else
 %global test_failure_override false
@@ -56,6 +58,8 @@ Patch1: libunwind-arm-default-to-exidx.patch
 # Make libunwind.h multilib friendly
 Patch2: libunwind-1.3.1-multilib-fix.patch
 Patch5: libunwind-no-dl-iterate-phdr.patch
+# Fix for aarch64 issue in 1.8.0
+Patch6: https://patch-diff.githubusercontent.com/raw/libunwind/libunwind/pull/714.patch
 
 ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
 
@@ -63,6 +67,10 @@ BuildRequires: automake libtool autoconf texlive-latex2man
 BuildRequires: make
 BuildRequires: gcc-c++
 
+%ifarch aarch64
+BuildRequires: libatomic
+%endif
+
 # host != target would cause REMOTE_ONLY build even if building i386 on x86_64.
 %global _host %{_target_platform}
 
@@ -81,13 +89,19 @@ libunwind.
 %autosetup -p1 -n %{name}-%{version}
 
 %build
+%ifarch aarch64
+%global optflags %{optflags} -fcommon -O2
+%global build_ldflags %{build_ldflags} -latomic
+%else
 %global optflags %{optflags} -fcommon
+%endif
 aclocal
 libtoolize --force
 autoheader
 automake --add-missing
 autoconf
 %configure --enable-static --enable-shared --enable-setjmp=no
+
 make %{?_smp_mflags}
 
 %install

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-15 10:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-15 10:27 [rpms/libunwind] epel9: try this Tom Callaway

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox