Revert "try this"

This didn't help with the aarch64 build issue.

This reverts commit 883612a821.
This commit is contained in:
Kalev Lember 2024-02-08 23:07:12 +01:00
parent 883612a821
commit 9e54e2f553
2 changed files with 1 additions and 99 deletions

View File

@ -1,84 +0,0 @@
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;
}

View File

@ -35,9 +35,7 @@
# Ltest-resume-sig-rt
# test-ptrace
# these tests are... buggy.
%ifarch aarch64 i686 ppc64le s390x x86_64
%ifarch aarch64 i686 ppc64le s390x
%global test_failure_override true
%else
%global test_failure_override false
@ -58,8 +56,6 @@ 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
@ -67,10 +63,6 @@ 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}
@ -89,19 +81,13 @@ 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