diff --git a/libunwind-1.1-fix-CVE-2015-3239.patch b/libunwind-1.1-fix-CVE-2015-3239.patch new file mode 100644 index 0000000..95d18f1 --- /dev/null +++ b/libunwind-1.1-fix-CVE-2015-3239.patch @@ -0,0 +1,12 @@ +diff -up libunwind-1.1/include/dwarf_i.h.CVE20153239 libunwind-1.1/include/dwarf_i.h +--- libunwind-1.1/include/dwarf_i.h.CVE20153239 2015-07-10 13:38:36.404996748 -0400 ++++ libunwind-1.1/include/dwarf_i.h 2015-07-10 13:39:25.050707613 -0400 +@@ -20,7 +20,7 @@ + extern const uint8_t dwarf_to_unw_regnum_map[DWARF_REGNUM_MAP_LENGTH]; + /* REG is evaluated multiple times; it better be side-effects free! */ + # define dwarf_to_unw_regnum(reg) \ +- (((reg) <= DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0) ++ (((reg) < DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0) + #endif + + #ifdef UNW_LOCAL_ONLY diff --git a/libunwind-arm-default-to-exidx.patch b/libunwind-arm-default-to-exidx.patch new file mode 100644 index 0000000..e19c51e --- /dev/null +++ b/libunwind-arm-default-to-exidx.patch @@ -0,0 +1,15 @@ +diff -up libunwind-1.1/src/arm/Gglobal.c.default-to-exidx libunwind-1.1/src/arm/Gglobal.c +--- libunwind-1.1/src/arm/Gglobal.c.default-to-exidx 2015-06-02 10:38:39.733587918 -0400 ++++ libunwind-1.1/src/arm/Gglobal.c 2015-06-02 10:38:53.086500142 -0400 +@@ -29,7 +29,10 @@ HIDDEN define_lock (arm_lock); + HIDDEN int tdep_init_done; + + /* Unwinding methods to use. See UNW_METHOD_ enums */ +-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; + + HIDDEN void + tdep_init (void) diff --git a/libunwind.spec b/libunwind.spec index a5d83db..f3bf3a0 100644 --- a/libunwind.spec +++ b/libunwind.spec @@ -4,7 +4,7 @@ Summary: An unwinding library Name: libunwind Version: 1.1 -Release: 3%{?dist} +Release: 10%{?dist} License: BSD Group: Development/Debuggers Source: http://download.savannah.gnu.org/releases/libunwind/libunwind-%{version}.tar.gz @@ -12,8 +12,10 @@ Source: http://download.savannah.gnu.org/releases/libunwind/libunwind-%{version} Patch1: libunwind-disable-setjmp.patch Patch2: libunwind-aarch64.patch Patch3: libunwind-fix-ppc64_test_altivec.patch +Patch4: libunwind-arm-default-to-exidx.patch +Patch5: libunwind-1.1-fix-CVE-2015-3239.patch URL: http://savannah.nongnu.org/projects/libunwind -ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc ppc64 %{ix86} x86_64 +ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} %{ix86} x86_64 BuildRequires: automake libtool autoconf @@ -37,6 +39,8 @@ libunwind. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 -b .default-to-exidx +%patch5 -p1 -b .CVE-2015-3239 %build aclocal @@ -88,10 +92,32 @@ echo ====================TESTSUITE DISABLED========================= %{_includedir}/libunwind*.h %changelog -* Mon Jan 20 2014 Kyle McMartin 1.1-3 +* 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)