commit ad5d1433f50904aefc82382caa4cae9634ae3465 Author: MSVSphere Packaging Team Date: Mon Dec 23 13:45:08 2024 +0300 import libunwind-1.8.0-4.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..14897d8 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libunwind-1.8.0.tar.gz diff --git a/.libunwind.metadata b/.libunwind.metadata new file mode 100644 index 0000000..5428e12 --- /dev/null +++ b/.libunwind.metadata @@ -0,0 +1 @@ +f9d190df1e624a8fb9352d865ac41b65dc7f44e7 SOURCES/libunwind-1.8.0.tar.gz diff --git a/SOURCES/libunwind-1.3.1-multilib-fix.patch b/SOURCES/libunwind-1.3.1-multilib-fix.patch new file mode 100644 index 0000000..f7e90fc --- /dev/null +++ b/SOURCES/libunwind-1.3.1-multilib-fix.patch @@ -0,0 +1,22 @@ +diff -up libunwind-1.3.1/include/libunwind.h.in.multilibfix libunwind-1.3.1/include/libunwind.h.in +--- libunwind-1.3.1/include/libunwind.h.in.multilibfix 2020-08-13 10:06:03.275601460 -0400 ++++ libunwind-1.3.1/include/libunwind.h.in 2020-08-13 10:06:29.579522623 -0400 +@@ -1,8 +1,6 @@ + /* Provide a real file - not a symlink - as it would cause multiarch conflicts + when multiple different arch releases are installed simultaneously. */ + +-#ifndef UNW_REMOTE_ONLY +- + #if defined __aarch64__ + #include "libunwind-aarch64.h" + #elif defined __arm__ +@@ -28,9 +26,3 @@ + #else + # error "Unsupported arch" + #endif +- +-#else /* UNW_REMOTE_ONLY */ +- +-# include "libunwind-@arch@.h" +- +-#endif /* UNW_REMOTE_ONLY */ diff --git a/SOURCES/libunwind-1.6.2-dynamic-page-size.patch b/SOURCES/libunwind-1.6.2-dynamic-page-size.patch new file mode 100644 index 0000000..c1fff91 --- /dev/null +++ b/SOURCES/libunwind-1.6.2-dynamic-page-size.patch @@ -0,0 +1,355 @@ +From cf6b9aadd60a85107afe5196251ca2ed198a96d0 Mon Sep 17 00:00:00 2001 +From: Daniel Moody +Date: Fri, 18 Feb 2022 14:24:37 -0600 +Subject: [PATCH] Updated to determine PAGE_SIZE dynamically. + +--- + include/libunwind_i.h | 9 +++++++++ + src/aarch64/Ginit.c | 19 ++++++++----------- + src/arm/Ginit.c | 13 ++----------- + src/mi/init.c | 28 ++++++++++++++++++++++++++-- + src/riscv/Ginit.c | 22 ++++++++-------------- + src/s390x/Ginit.c | 25 ++++++++++--------------- + src/x86/Ginit.c | 13 ++----------- + src/x86_64/Ginit.c | 18 +++++------------- + 8 files changed, 70 insertions(+), 77 deletions(-) + +diff --git a/include/libunwind_i.h b/include/libunwind_i.h +index 6c7dda9a8..bcf229566 100644 +--- a/include/libunwind_i.h ++++ b/include/libunwind_i.h +@@ -55,6 +55,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ + #include + #include + #include ++#include ++#include + + #if defined(HAVE_ELF_H) + # include +@@ -288,6 +290,13 @@ print_error (const char *string) + return write (2, string, strlen (string)); + } + ++HIDDEN extern long unw_page_size; ++ ++static inline unw_word_t uwn_page_start(unw_word_t addr) ++{ ++ return addr & ~(unw_page_size - 1); ++} ++ + #define mi_init UNWI_ARCH_OBJ(mi_init) + + extern void mi_init (void); /* machine-independent initializations */ +diff --git a/src/aarch64/Ginit.c b/src/aarch64/Ginit.c +index 2b08feb36..fe6e511df 100644 +--- a/src/aarch64/Ginit.c ++++ b/src/aarch64/Ginit.c +@@ -84,8 +84,6 @@ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + return 0; + } + +-#define PAGE_SIZE 4096 +-#define PAGE_START(a) ((a) & ~(PAGE_SIZE-1)) + + static int mem_validate_pipe[2] = {-1, -1}; + +@@ -197,11 +195,14 @@ tdep_init_mem_validate (void) + + #ifdef HAVE_MINCORE + unsigned char present = 1; +- unw_word_t addr = PAGE_START((unw_word_t)&present); ++ size_t len = unw_page_size; ++ unw_word_t addr = uwn_page_start((unw_word_t)&present); + unsigned char mvec[1]; + int ret; +- while ((ret = mincore ((void*)addr, PAGE_SIZE, (unsigned char *)mvec)) == -1 && +- errno == EAGAIN) {} ++ while ((ret = mincore((void *)addr, len, (unsigned char *)mvec)) == -1 && ++ errno == EAGAIN) ++ { ++ } + if (ret == 0) + { + Debug(1, "using mincore to validate memory\n"); +@@ -295,12 +296,8 @@ validate_mem (unw_word_t addr) + { + size_t len; + +- if (PAGE_START(addr + sizeof (unw_word_t) - 1) == PAGE_START(addr)) +- len = PAGE_SIZE; +- else +- len = PAGE_SIZE * 2; +- +- addr = PAGE_START(addr); ++ len = unw_page_size; ++ addr = uwn_page_start(addr); + + if (addr == 0) + return -1; +diff --git a/src/arm/Ginit.c b/src/arm/Ginit.c +index 0bac0d72d..bce52dc34 100644 +--- a/src/arm/Ginit.c ++++ b/src/arm/Ginit.c +@@ -71,9 +71,6 @@ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + return 0; + } + +-#define PAGE_SIZE 4096 +-#define PAGE_START(a) ((a) & ~(PAGE_SIZE-1)) +- + /* Cache of already validated addresses */ + #define NLGA 4 + static unw_word_t last_good_addr[NLGA]; +@@ -83,14 +80,8 @@ static int + validate_mem (unw_word_t addr) + { + int i, victim; +- size_t len; +- +- if (PAGE_START(addr + sizeof (unw_word_t) - 1) == PAGE_START(addr)) +- len = PAGE_SIZE; +- else +- len = PAGE_SIZE * 2; +- +- addr = PAGE_START(addr); ++ size_t len = unw_page_size; ++ addr = uwn_page_start(addr); + + if (addr == 0) + return -1; +diff --git a/src/mi/init.c b/src/mi/init.c +index 60a48c589..aa9319981 100644 +--- a/src/mi/init.c ++++ b/src/mi/init.c +@@ -39,6 +39,30 @@ static const char rcsid[] UNUSED = + long unwi_debug_level; + + #endif /* UNW_DEBUG */ ++long unw_page_size; ++static void ++unw_init_page_size () ++{ ++ errno = 0; ++ long result = sysconf (_SC_PAGESIZE); ++ if (result == -1) ++ { ++ if (errno != 0) ++ { ++ print_error ("Failed to get _SC_PAGESIZE: "); ++ print_error (strerror(errno)); ++ print_error ("\n"); ++ } ++ else ++ print_error ("Failed to get _SC_PAGESIZE, errno was not set.\n"); ++ ++ unw_page_size = 4096; ++ } ++ else ++ { ++ unw_page_size = result; ++ } ++} + + HIDDEN void + mi_init (void) +@@ -55,6 +79,6 @@ mi_init (void) + setbuf (stderr, NULL); + } + #endif +- +- assert (sizeof (struct cursor) <= sizeof (unw_cursor_t)); ++ unw_init_page_size(); ++ assert(sizeof(struct cursor) <= sizeof(unw_cursor_t)); + } +diff --git a/src/riscv/Ginit.c b/src/riscv/Ginit.c +index 907f72962..4faeecbfd 100644 +--- a/src/riscv/Ginit.c ++++ b/src/riscv/Ginit.c +@@ -97,9 +97,6 @@ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + + // Memory validation routines are from aarch64 + +-#define PAGE_SIZE 4096 +-#define PAGE_START(a) ((a) & ~(PAGE_SIZE-1)) +- + static int mem_validate_pipe[2] = {-1, -1}; + + #ifdef HAVE_PIPE2 +@@ -210,11 +207,14 @@ tdep_init_mem_validate (void) + + #ifdef HAVE_MINCORE + unsigned char present = 1; +- unw_word_t addr = PAGE_START((unw_word_t)&present); ++ size_t len = unw_page_size; ++ unw_word_t addr = uwn_page_start((unw_word_t)&present); + unsigned char mvec[1]; + int ret; +- while ((ret = mincore ((void*)addr, PAGE_SIZE, (unsigned char *)mvec)) == -1 && +- errno == EAGAIN) {} ++ while ((ret = mincore((void *)addr, len, (unsigned char *)mvec)) == -1 && ++ errno == EAGAIN) ++ { ++ } + if (ret == 0) + { + Debug(1, "using mincore to validate memory\n"); +@@ -306,14 +306,8 @@ cache_valid_mem(unw_word_t addr) + static int + validate_mem (unw_word_t addr) + { +- size_t len; +- +- if (PAGE_START(addr + sizeof (unw_word_t) - 1) == PAGE_START(addr)) +- len = PAGE_SIZE; +- else +- len = PAGE_SIZE * 2; +- +- addr = PAGE_START(addr); ++ size_t len = unw_page_size; ++ addr = uwn_page_start(addr); + + if (addr == 0) + return -1; +diff --git a/src/s390x/Ginit.c b/src/s390x/Ginit.c +index db01743c0..2bce2f4b6 100644 +--- a/src/s390x/Ginit.c ++++ b/src/s390x/Ginit.c +@@ -27,6 +27,7 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ + ++#include "libunwind_i.h" + #ifdef HAVE_CONFIG_H + #include + #endif +@@ -93,9 +94,6 @@ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + return 0; + } + +-#define PAGE_SIZE 4096 +-#define PAGE_START(a) ((a) & ~(PAGE_SIZE-1)) +- + static int mem_validate_pipe[2] = {-1, -1}; + + static inline void +@@ -163,7 +161,7 @@ static int mincore_validate (void *addr, size_t len) + return -1; + } + +- for (i = 0; i < (len + PAGE_SIZE - 1) / PAGE_SIZE; i++) ++ for (i = 0; i < (len + unw_page_size - 1) / unw_page_size; i++) + { + if (!(mvec[i] & 1)) return -1; + } +@@ -183,11 +181,14 @@ tdep_init_mem_validate (void) + + #ifdef HAVE_MINCORE + unsigned char present = 1; +- unw_word_t addr = PAGE_START((unw_word_t)&present); ++ size_t len = unw_page_size; ++ unw_word_t addr = uwn_page_start((unw_word_t)&present); + unsigned char mvec[1]; + int ret; +- while ((ret = mincore ((void*)addr, PAGE_SIZE, mvec)) == -1 && +- errno == EAGAIN) {} ++ while ((ret = mincore((void *)addr, len, mvec)) == -1 && ++ errno == EAGAIN) ++ { ++ } + if (ret == 0 && (mvec[0] & 1)) + { + Debug(1, "using mincore to validate memory\n"); +@@ -210,14 +211,8 @@ static int + validate_mem (unw_word_t addr) + { + int i, victim; +- size_t len; +- +- if (PAGE_START(addr + sizeof (unw_word_t) - 1) == PAGE_START(addr)) +- len = PAGE_SIZE; +- else +- len = PAGE_SIZE * 2; +- +- addr = PAGE_START(addr); ++ size_t len = unw_page_size; ++ addr = uwn_page_start(addr); + + if (addr == 0) + return -1; +diff --git a/src/x86/Ginit.c b/src/x86/Ginit.c +index 3cec74a21..4261fb523 100644 +--- a/src/x86/Ginit.c ++++ b/src/x86/Ginit.c +@@ -74,9 +74,6 @@ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + return 0; + } + +-#define PAGE_SIZE 4096 +-#define PAGE_START(a) ((a) & ~(PAGE_SIZE-1)) +- + /* Cache of already validated addresses */ + #define NLGA 4 + static unw_word_t last_good_addr[NLGA]; +@@ -89,14 +86,8 @@ validate_mem (unw_word_t addr) + #ifdef HAVE_MINCORE + unsigned char mvec[2]; /* Unaligned access may cross page boundary */ + #endif +- size_t len; +- +- if (PAGE_START(addr + sizeof (unw_word_t) - 1) == PAGE_START(addr)) +- len = PAGE_SIZE; +- else +- len = PAGE_SIZE * 2; +- +- addr = PAGE_START(addr); ++ size_t len = unw_page_size; ++ addr = uwn_page_start(addr); + + if (addr == 0) + return -1; +diff --git a/src/x86_64/Ginit.c b/src/x86_64/Ginit.c +index 0b121bc91..e75f92a5f 100644 +--- a/src/x86_64/Ginit.c ++++ b/src/x86_64/Ginit.c +@@ -73,9 +73,6 @@ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + return 0; + } + +-#define PAGE_SIZE 4096 +-#define PAGE_START(a) ((a) & ~(PAGE_SIZE-1)) +- + static int mem_validate_pipe[2] = {-1, -1}; + + #ifdef HAVE_PIPE2 +@@ -191,10 +188,11 @@ tdep_init_mem_validate (void) + + #ifdef HAVE_MINCORE + unsigned char present = 1; +- unw_word_t addr = PAGE_START((unw_word_t)&present); ++ size_t len = unw_page_size; ++ unw_word_t addr = uwn_page_start((unw_word_t)&present); + unsigned char mvec[1]; + int ret; +- while ((ret = mincore ((void*)addr, PAGE_SIZE, (unsigned char *)mvec)) == -1 && ++ while ((ret = mincore ((void*)addr, len, (unsigned char *)mvec)) == -1 && + errno == EAGAIN) {} + if (ret == 0) + { +@@ -287,14 +285,8 @@ cache_valid_mem(unw_word_t addr) + static int + validate_mem (unw_word_t addr) + { +- size_t len; +- +- if (PAGE_START(addr + sizeof (unw_word_t) - 1) == PAGE_START(addr)) +- len = PAGE_SIZE; +- else +- len = PAGE_SIZE * 2; +- +- addr = PAGE_START(addr); ++ size_t len = unw_page_size; ++ addr = uwn_page_start(addr); + + if (addr == 0) + return -1; diff --git a/SOURCES/libunwind-arm-default-to-exidx.patch b/SOURCES/libunwind-arm-default-to-exidx.patch new file mode 100644 index 0000000..7963c45 --- /dev/null +++ b/SOURCES/libunwind-arm-default-to-exidx.patch @@ -0,0 +1,15 @@ +diff -up libunwind-1.6.2/src/arm/Gglobal.c.default-to-exidx libunwind-1.6.2/src/arm/Gglobal.c +--- libunwind-1.6.2/src/arm/Gglobal.c.default-to-exidx 2021-12-20 12:06:56.067313075 -0500 ++++ libunwind-1.6.2/src/arm/Gglobal.c 2021-12-20 12:08:43.063060309 -0500 +@@ -33,7 +33,10 @@ HIDDEN atomic_bool tdep_init_done = 0; + /* Android only supports three types of unwinding methods. */ + HIDDEN int unwi_unwind_method = UNW_ARM_METHOD_DWARF | UNW_ARM_METHOD_EXIDX | UNW_ARM_METHOD_LR; + #else +-HIDDEN int unwi_unwind_method = UNW_ARM_METHOD_ALL; ++/* UNW_ARM_METHOD_ALL starts with UNW_ARM_METHOD_DWARF */ ++/* which is never right on Fedora ARM. Default instead */ ++/* to UNW_ARM_METHOD_EXIDX. */ ++HIDDEN int unwi_unwind_method = UNW_ARM_METHOD_EXIDX; + #endif + + HIDDEN void diff --git a/SOURCES/libunwind-no-dl-iterate-phdr.patch b/SOURCES/libunwind-no-dl-iterate-phdr.patch new file mode 100644 index 0000000..d50a032 --- /dev/null +++ b/SOURCES/libunwind-no-dl-iterate-phdr.patch @@ -0,0 +1,24 @@ +This patch disables building of the (effectively empty) +dl-iterate-phdr.c source file. Symbols generated by annobin confuse +the run-check-namespace test because nm -g prints hidden weak symbols +in DSOs (they are considered external): + + ERROR: Extraneous symbols: +000000000000de51 W dl_iterate_phdr.c.a8d8d212 + ERROR: Extraneous symbols: +00000000000120b0 W dl_iterate_phdr.c.a8d8d212 + +This patch is downstream-specific due to annobin. + +diff -up libunwind-1.8.0/src/Makefile.am.no-dl-iterate-phdr libunwind-1.8.0/src/Makefile.am +--- libunwind-1.8.0/src/Makefile.am.no-dl-iterate-phdr 2024-01-29 16:30:52.230008417 -0500 ++++ libunwind-1.8.0/src/Makefile.am 2024-01-29 16:31:40.476692706 -0500 +@@ -346,7 +346,7 @@ noinst_LTLIBRARIES += $(libunwind_elf_li + libunwind_la_LIBADD += $(libunwind_elf_libs) + + if OS_LINUX +- libunwind_la_SOURCES_os = os-linux.c dl-iterate-phdr.c ++ libunwind_la_SOURCES_os = os-linux.c + libunwind_la_SOURCES_os_local = $(libunwind_la_SOURCES_os_linux_local) + libunwind_la_SOURCES_aarch64_os = aarch64/Gos-linux.c + libunwind_la_SOURCES_aarch64_os_local = aarch64/Los-linux.c diff --git a/SOURCES/libunwind-skip-no-coredump.patch b/SOURCES/libunwind-skip-no-coredump.patch new file mode 100644 index 0000000..747cd33 --- /dev/null +++ b/SOURCES/libunwind-skip-no-coredump.patch @@ -0,0 +1,20 @@ +This is needed because under mock (especially with a systemd-coredump +handler on the system), no core files are created. + +Submitted upstream: https://github.com/libunwind/libunwind/pull/418 + +diff --git a/tests/run-coredump-unwind b/tests/run-coredump-unwind +index 8d07742574602328..0c2b28c942477f7d 100755 +--- a/tests/run-coredump-unwind ++++ b/tests/run-coredump-unwind +@@ -48,6 +48,10 @@ fi + ./crasher backing_files + ) 2>/dev/null + COREFILE=$TEMPDIR/core* ++if ! test -f "$COREFILE"; then ++ echo "crasher process did not produce coredump, test skipped" ++ exit 77 ++fi + + # magic option -testcase enables checking for the specific contents of the stack + ./test-coredump-unwind $COREFILE -testcase `cat $TEMPDIR/backing_files` diff --git a/SPECS/libunwind.spec b/SPECS/libunwind.spec new file mode 100644 index 0000000..2a648f3 --- /dev/null +++ b/SPECS/libunwind.spec @@ -0,0 +1,444 @@ +# The testsuite does not pass on all targets. +# +# aarch64 +# Gtest-exc +# Ltest-exc +# Gtest-trace +# Ltest-trace +# Ltest-init-local-signal +# Ltest-mem-validate: https://github.com/libunwind/libunwind/issues/388 +# test-reg-state +# Ltest-varargs +# Lrs-race +# test-ptrace +# run-check-namespace: https://github.com/libunwind/libunwind/issues/389 +# run-ptrace-mapper +# run-ptrace-misc +# i686 +# Ltest-mem-validate: https://github.com/libunwind/libunwind/issues/391 +# test-async-sig +# test-ptrace +# ppc64le +# Gtest-exc +# Ltest-exc +# Gtest-resume-sig +# Ltest-resume-sig +# Gtest-resume-sig-rt +# Ltest-resume-sig-rt +# test-ptrace +# run-check-namespace +# run-ptrace-mapper +# run-ptrace-misc +# +# s390x +# Gtest-resume-sig-rt +# Ltest-resume-sig-rt +# test-ptrace + +%ifarch i686 ppc64le s390x +%global test_failure_override true +%else +%global test_failure_override false +%endif + +# %%global prerel rc2 + +Summary: An unwinding library +Name: libunwind +Version: 1.8.0 +Release: 4%{?dist} +License: MIT +URL: http://savannah.nongnu.org/projects/libunwind +Source: https://github.com/libunwind/libunwind/releases/download/v%{version}/%{name}-%{version}.tar.gz + +#Fedora specific patch +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 + +ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64 riscv64 + +BuildRequires: automake libtool autoconf texlive-latex2man +BuildRequires: make +BuildRequires: gcc-c++ + +# host != target would cause REMOTE_ONLY build even if building i386 on x86_64. +%global _host %{_target_platform} + +%description +Libunwind provides a C ABI to determine the call-chain of a program. + +%package devel +Summary: Development package for libunwind +Requires: libunwind = %{version}-%{release} + +%description devel +The libunwind-devel package includes the libraries and header files for +libunwind. + +%prep +%autosetup -p1 -n %{name}-%{version} + +%build +%ifarch aarch64 +# LTO causes FTBFS on aarch64 (rhbz#2261344) +%global _lto_cflags %{nil} +%endif + +%global optflags %{optflags} -fcommon +aclocal +libtoolize --force +autoheader +automake --add-missing +autoconf +%configure --enable-static --enable-shared --enable-setjmp=no +make %{?_smp_mflags} + +%install +make install DESTDIR=$RPM_BUILD_ROOT +find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' + +# /usr/include/libunwind-ptrace.h +# [...] aren't really part of the libunwind API. They are implemented in +# a archive library called libunwind-ptrace.a. +mv -f $RPM_BUILD_ROOT%{_libdir}/libunwind-ptrace.a $RPM_BUILD_ROOT%{_libdir}/libunwind-ptrace.a-save +rm -f $RPM_BUILD_ROOT%{_libdir}/libunwind*.a +mv -f $RPM_BUILD_ROOT%{_libdir}/libunwind-ptrace.a-save $RPM_BUILD_ROOT%{_libdir}/libunwind-ptrace.a +rm -f $RPM_BUILD_ROOT%{_libdir}/libunwind-ptrace*.so* + +# fix multilib conflicts +touch -r NEWS $RPM_BUILD_ROOT%{_includedir}/libunwind.h + +%check +echo ====================TESTING========================= +if ! make check ; then + echo ====================FAILED TESTS===================== + cat tests/test-suite.log || true + %{test_failure_override} +fi +echo ====================TESTING END===================== + +%ldconfig_scriptlets + +%files +%license COPYING +%doc README NEWS +%{_libdir}/libunwind*.so.* + +%files devel +%{_libdir}/libunwind*.so +%{_libdir}/libunwind-ptrace.a +%{_libdir}/pkgconfig/libunwind*.pc +%{_mandir}/*/* +# does not get installed for REMOTE_ONLY targets - check it. +%{_includedir}/unwind.h +%{_includedir}/libunwind*.h + +%changelog +* Mon Dec 23 2024 MSVSphere Packaging Team - 1.8.0-4 +- Rebuilt for MSVSphere 10 + +* Thu Jul 18 2024 Fedora Release Engineering - 1.8.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Mar 06 2024 Richard W.M. Jones - 1.8.0-3 +- Bump and rebuild package (for riscv64) + +* Thu Feb 08 2024 Kalev Lember - 1.8.0-2 +- Disable LTO on aarch64 to fix the build (rhbz#2261344) +- Re-enable tests on aarch64 + +* Mon Jan 29 2024 Tom Callaway - 1.8.0-1 +- update to 1.8.0 + +* Thu Jan 25 2024 Fedora Release Engineering - 1.7.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.7.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Aug 9 2023 Tom Callaway - 1.7.2-1 +- update to 1.7.2 + +* Thu Jul 20 2023 Fedora Release Engineering - 1.7.0-0.2.rc2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Feb 20 2023 Tom Callaway - 1.7.0-0.1.rc2 +- update to 1.7.0-rc2 +- disable tests on s390x (reported upstream: https://github.com/libunwind/libunwind/issues/464) + +* Thu Jan 19 2023 Fedora Release Engineering - 1.6.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Sep 7 2022 Florian Weimer - 1.6.2-5 +- Run the testsuite during build + +* Wed Sep 7 2022 Florian Weimer - 1.6.2-4 +- Enable %%autosetup to apply all patches (#2118019) + +* Sun Aug 28 2022 Leif Liddy - 1.6.2-3 +- enable dynamic page size support (bz2118019) + +* Thu Jul 21 2022 Fedora Release Engineering - 1.6.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 1.6.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Dec 20 2021 Tom Callaway - 1.6.2-1 +- update to 1.6.2 + +* Wed Jul 21 2021 Tom Callaway - 1.5.0-1 +- update to 1.5.0 + +* Tue Jan 26 2021 Fedora Release Engineering - 1.4.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Aug 13 2020 Tom Callaway - 1.4.0-4 +- revert previous change +- fix it properly + +* Mon Aug 10 2020 Tom Callaway - 1.4.0-3 +- fix multilib issues with libunwind.h (bz1866512) + +* Tue Jul 28 2020 Fedora Release Engineering - 1.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Apr 14 2020 Dan HorĂ¡k - 1.4.0-1 +- Update to 1.4.0 with s390x support + +* Fri Jan 31 2020 Tom Callaway - 1.3.1-5 +- backport change from upstream to fix reported test failures (bz1795896) + +* Wed Jan 29 2020 Fedora Release Engineering - 1.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 1.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 1.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sun Jan 13 2019 Ankur Sinha - 1.3.1-1 +- Update to 1.3.1 +- Remove no longer needed patch (builds on all arches without it) + +* Fri Jul 13 2018 Fedora Release Engineering - 1.2.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Feb 09 2018 Igor Gnatenko - 1.2.1-5 +- Escape macros in %%changelog + +* Wed Feb 07 2018 Fedora Release Engineering - 1.2.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Oct 29 2017 Tom Callaway - 1.2.1-3 +- fix multilib conflicts + +* Sat Oct 14 2017 Peter Robinson 1.2.1-2 +- Add patch to fix ARM issues + +* Fri Sep 1 2017 Tom Callaway - 1.2.1-1 +- update to 1.2.1 + +* Thu Aug 03 2017 Fedora Release Engineering - 1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Jun 1 2017 Jes Sorensen - 1.2-1 +- Update to libunwind-1.2 (#1439962) +- Disable setjmp the correct way and get rid of messy patch + +* Fri Feb 10 2017 Fedora Release Engineering - 1.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 1.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jul 10 2015 Tom Callaway - 1.1-10 +- fix CVE-2015-3239 + +* Wed Jun 17 2015 Fedora Release Engineering - 1.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Jun 2 2015 Tom Callaway - 1.1-8 +- default arm unwinding method to exidx, old default of dwarf never works on Fedora + (#1226806) + +* Sun Aug 17 2014 Fedora Release Engineering - 1.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue May 13 2014 Jaromir Capik - 1.1-5 +- Replacing ppc64 with the power64 macro (#1051641) + +* Mon Jan 20 2014 Kyle McMartin 1.1-4 +- Link test_ppc64_altivec against libunwind in tests/Makefile.am to fix build + on ppc64. + +* Sat Aug 03 2013 Fedora Release Engineering - 1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon Jun 03 2013 Kyle McMartin 1.1-2 +- Add aarch64 support from backported ac6c0a65. (Mark Salter) + (rhbz#969689) + +* Mon Feb 18 2013 Kyle McMartin 1.1-1 +- Update to upstream v1.1 +- libunwind-install-ptrace.patch: drop upstream patch +- libunwind-arm-register-rename.patch: fixed upstream +- Add pkg-config files to libunwind-devel + +* Thu Feb 14 2013 Fedora Release Engineering - 1.0.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Thu Jul 19 2012 Fedora Release Engineering - 1.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Feb 15 2012 Peter Robinson - 1.0.1-3 +- Add patch to fix build on ARM + +* Fri Jan 13 2012 Fedora Release Engineering - 1.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Sep 15 2011 Jan Kratochvil - 1.0.1-1.fc17 +- Upgrade to the upstream release. (BZ 738595). +- Use official distribution URL for %%{source}. + +* Thu Jun 02 2011 Paul Whalen - 0.99-3.20110424git1e10c293 +- Added arm macro to ExclusiveArch + +* Mon May 9 2011 Jan Kratochvil - 0.99-2.20110424git1e10c293 +- Install static libunwind-ptrace library into system (for ltrace, BZ 703159). + +* Sun Apr 24 2011 Jan Kratochvil - 0.99-1.20110424git1e10c293 +- Rebase to the upstream post-0.99 snapshot (BZ 697453). + +* Tue Feb 08 2011 Fedora Release Engineering - 0.99-0.16.20090430betagit4b8404d1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Sep 29 2010 jkeating - 0.99-0.15.20090430betagit4b8404d1 +- Rebuilt for gcc bug 634757 + +* Sat Sep 11 2010 Parag Nemade 0.99-0.14.20090430betagit4b8404d1.fc15 +- Merge-review cleanup (#226052) + +* Fri Dec 4 2009 Fedora Release Engineering - 0.99-0.13.20090430betagit4b8404d1 +- The devel package now requires also base package's %%{release}. +- Update the obsolete macro %%{package_version}. + +* Sat Jul 25 2009 Fedora Release Engineering - 0.99-0.12.20090430betagit4b8404d1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 15 2009 Jan Kratochvil - 0.99-0.11.20090430betagit4b8404d1 +- Disable the libunwind-setjmp library as no longer compatible with glibc and + no Fedora dependencies on it (FTBSFS BZ 511562). + +* Thu Apr 30 2009 Jan Kratochvil - 0.99-0.10.20090430betagit4b8404d1 +- Fix the ia64 variant of GetIPInfo() (BZ 480412). + +* Mon Apr 13 2009 Jan Kratochvil - 0.99-0.9.20090413betagitb483ea3f +- Rebase the package on the upstream variant: http://www.nongnu.org/libunwind/ + - Drop the patch libunwind-snap-070224-frysk20070405cvs.patch + as even frysk-0.4-8.fc11 still has this library bundled statically. +- Disable the testsuite by default during the build. + - It should be run separately as it crashes some ia64 kernels. + - Drop the patch libunwind-snap-070224-orphanripper.patch. +- Drop the patch libunwind-snap-070224-dprintf-vs-stdio.h as no longer needed. +- Drop libunwind-snap-070224-multilib-rh342451.patch as accepted upstream. +- Fix and enable ppc (ppc32) arch. + +* Tue Mar 3 2009 Jan Kratochvil - 0.99-0.8.frysk20070405cvs +- Fix .spec ExclusiveArch from i386 to %%{ix86}. +- Remove `BuildRequires: glibc gcc make tar gzip' - minimum build environment. + +* Wed Feb 25 2009 Fedora Release Engineering - 0.99-0.7.frysk20070405cvs +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Sep 22 2008 Jan Kratochvil - 0.99-0.6.frysk20070405cvs +- Fix build error due to a `dprintf' conflict on recent glibc. +- New rpmbuild parameter: --without check + +* Sun Feb 24 2008 Jan Kratochvil - 0.99-0.5.frysk20070405cvs +- Fix the multilib conflicts (BZ 342451). + +* Sun Feb 24 2008 Jan Kratochvil - 0.99-0.4.frysk20070405cvs +- Abort the possibly hung up testcases after 120 seconds (BZ 427850, BZ 434147). + +* Tue Feb 19 2008 Fedora Release Engineering - 0.99-0.3.frysk20070405cvs +- Autorebuild for GCC 4.3 + +* Sun Apr 22 2007 Jan Kratochvil - 0.99-0.2.frysk20070405cvs +- Require conflict with gdb < gdb-6.6-9 as it would not find `libunwind.so'. +- Fixed (unused - commented) rule for a RPM build with embedded debug info. + +* Thu Apr 5 2007 Jan Kratochvil - 0.99-0.1.frysk20070405cvs +- Update to the upstream snapshot snap-070224. +- Use the Frysk's modified version, currently snapshot 20070405cvs. +- Extend the supported architectures from ia64 also to x86_64, i386 and ppc64. +- Spec file fixups. +- Split the package to its base and the `devel' part. +- Drop the statically built libraries. + +* Sun Oct 01 2006 Jesse Keating - 0.98.5-3 +- rebuilt for unwind info generation, broken in gcc-4.1.1-21 + +* Fri Sep 22 2006 Jan Kratochvil - 0.98.5-2 +- SELinux compatibility fix - stack is now non-exec (Jakub Jelinek suggestion). + +* Wed Jul 12 2006 Jesse Keating - 0.98.5-1.1 +- rebuild + +* Sat May 27 2006 Alexandre Oliva - 0.98.5-1 +- Import version 0.98.5. + +* Thu Feb 09 2006 Florian La Roche +- remove empty scripts + +* Tue Feb 07 2006 Jesse Keating - 0.98.2-3.2 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Tue Mar 01 2005 Jeff Johnston 0.98.2.3 +- Bump up release number + +* Thu Nov 11 2004 Jeff Johnston 0.98.2.2 +- Import version 0.98.2. + +* Wed Nov 10 2004 Jeff Johnston 0.97.6 +- Bump up release number + +* Thu Aug 19 2004 Jeff Johnston 0.97.3 +- Remove debug file from files list. + +* Fri Aug 13 2004 Jeff Johnston 0.97.2 +- Import version 0.97. + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Wed Jun 09 2004 Elena Zannoni 0.96.4 +- Bump release number. + +* Mon Feb 23 2004 Elena Zannoni 0.96.3 +- Bump release number. + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Thu Jan 29 2004 Jeff Johnston 0.96.1 +- Import version 0.96. + +* Tue Jan 06 2004 Jeff Johnston 0.92.2 +- Bump release number. + +* Mon Oct 06 2003 Jeff Johnston 0.92.1 +- Initial release +