Update to libunwind-1.2 (#1439962)

Signed-off-by: Jes Sorensen <Jes.Sorensen@gmail.com>
This commit is contained in:
Jes Sorensen 2017-06-01 14:49:12 -04:00
parent 8c93d61cfe
commit 1d518e58d4
7 changed files with 13 additions and 2784 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/libunwind-1.1.tar.gz /libunwind-1.1.tar.gz
/libunwind-1.2.tar.gz

View File

@ -1,12 +0,0 @@
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

File diff suppressed because it is too large Load Diff

View File

@ -1,185 +0,0 @@
At least x86_64 version cannot work, src/setjmp/setjmp.c and
src/setjmp/sigsetjmp.c are not even compiled, src/x86_64/longjmp.S does not
match src/setjmp/setjmp.c + include/tdep-x86_64/jmpbuf.h .
google-perftools link only with libunwind.so.7 .
diff --git a/src/Makefile.am b/src/Makefile.am
index adfbef3..08d2870 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,5 +1,5 @@
SOVERSION=8:1:0 # See comments at end of file.
-SETJMP_SO_VERSION=0:0:0
+#SETJMP_SO_VERSION=0:0:0
COREDUMP_SO_VERSION=0:0:0
#
# Don't link with start-files since we don't use any constructors/destructors:
@@ -22,8 +22,8 @@ pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libunwind-generic.pc
if !REMOTE_ONLY
-pkgconfig_DATA += unwind/libunwind.pc ptrace/libunwind-ptrace.pc \
- setjmp/libunwind-setjmp.pc
+pkgconfig_DATA += unwind/libunwind.pc ptrace/libunwind-ptrace.pc
+# setjmp/libunwind-setjmp.pc
endif
if BUILD_COREDUMP
@@ -61,8 +61,8 @@ libunwind_coredump_la_LDFLAGS = $(COMMON_SO_LDFLAGS) \
noinst_HEADERS += coredump/_UCD_internal.h
### libunwind-setjmp:
-libunwind_setjmp_la_LDFLAGS = $(COMMON_SO_LDFLAGS) \
- -version-info $(SETJMP_SO_VERSION)
+#libunwind_setjmp_la_LDFLAGS = $(COMMON_SO_LDFLAGS) \
+# -version-info $(SETJMP_SO_VERSION)
if USE_ELF32
LIBUNWIND_ELF = libunwind-elf32.la
@@ -74,12 +74,12 @@ if USE_ELFXX
LIBUNWIND_ELF = libunwind-elfxx.la
endif
-libunwind_setjmp_la_LIBADD = $(LIBUNWIND_ELF) \
- libunwind-$(arch).la \
- libunwind.la -lc
-libunwind_setjmp_la_SOURCES = setjmp/longjmp.c \
- setjmp/siglongjmp.c
-noinst_HEADERS += setjmp/setjmp_i.h
+#libunwind_setjmp_la_LIBADD = $(LIBUNWIND_ELF) \
+# libunwind-$(arch).la \
+# libunwind.la -lc
+#libunwind_setjmp_la_SOURCES = setjmp/longjmp.c \
+# setjmp/siglongjmp.c
+#noinst_HEADERS += setjmp/setjmp_i.h
### libunwind:
libunwind_la_LIBADD =
@@ -428,7 +428,7 @@ if ARCH_ARM
if !REMOTE_ONLY
libunwind_arm_la_LIBADD += libunwind.la -lc
endif
- libunwind_setjmp_la_SOURCES += arm/siglongjmp.S
+# libunwind_setjmp_la_SOURCES += arm/siglongjmp.S
else
if ARCH_IA64
BUILT_SOURCES = Gcursor_i.h Lcursor_i.h
@@ -449,8 +449,8 @@ Lcursor_i.h: mk_Lcursor_i.s
if !REMOTE_ONLY
libunwind_ia64_la_LIBADD += libunwind.la -lc
endif
- libunwind_setjmp_la_SOURCES += ia64/setjmp.S ia64/sigsetjmp.S \
- ia64/longjmp.S ia64/siglongjmp.S
+# libunwind_setjmp_la_SOURCES += ia64/setjmp.S ia64/sigsetjmp.S \
+# ia64/longjmp.S ia64/siglongjmp.S
else
if ARCH_HPPA
lib_LTLIBRARIES += libunwind-hppa.la
@@ -462,7 +462,7 @@ if ARCH_HPPA
if !REMOTE_ONLY
libunwind_hppa_la_LIBADD += libunwind.la -lc
endif
- libunwind_setjmp_la_SOURCES += hppa/siglongjmp.S
+# libunwind_setjmp_la_SOURCES += hppa/siglongjmp.S
else
if ARCH_MIPS
lib_LTLIBRARIES += libunwind-mips.la
@@ -474,7 +474,7 @@ if ARCH_MIPS
if !REMOTE_ONLY
libunwind_mips_la_LIBADD += libunwind.la -lc
endif
- libunwind_setjmp_la_SOURCES += mips/siglongjmp.S
+# libunwind_setjmp_la_SOURCES += mips/siglongjmp.S
else
if ARCH_X86
lib_LTLIBRARIES += libunwind-x86.la
@@ -486,7 +486,7 @@ if ARCH_X86
if !REMOTE_ONLY
libunwind_x86_la_LIBADD += libunwind.la -lc
endif
- libunwind_setjmp_la_SOURCES += x86/longjmp.S x86/siglongjmp.S
+# libunwind_setjmp_la_SOURCES += x86/longjmp.S x86/siglongjmp.S
else
if ARCH_X86_64
lib_LTLIBRARIES += libunwind-x86_64.la
@@ -498,7 +498,7 @@ if ARCH_X86_64
if !REMOTE_ONLY
libunwind_x86_64_la_LIBADD += libunwind.la -lc
endif
- libunwind_setjmp_la_SOURCES += x86_64/longjmp.S x86_64/siglongjmp.S
+# libunwind_setjmp_la_SOURCES += x86_64/longjmp.S x86_64/siglongjmp.S
else
if ARCH_PPC32
lib_LTLIBRARIES += libunwind-ppc32.la
@@ -510,7 +510,7 @@ if ARCH_PPC32
if !REMOTE_ONLY
libunwind_ppc32_la_LIBADD += libunwind.la -lc
endif
- libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
+# libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
else
if ARCH_PPC64
lib_LTLIBRARIES += libunwind-ppc64.la
@@ -522,7 +522,7 @@ if ARCH_PPC64
if !REMOTE_ONLY
libunwind_ppc64_la_LIBADD += libunwind.la -lc
endif
- libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
+# libunwind_setjmp_la_SOURCES += ppc/longjmp.S ppc/siglongjmp.S
else
if ARCH_SH
lib_LTLIBRARIES += libunwind-sh.la
@@ -534,7 +534,7 @@ if ARCH_SH
if !REMOTE_ONLY
libunwind_sh_la_LIBADD += libunwind.la -lc
endif
- libunwind_setjmp_la_SOURCES += sh/siglongjmp.S
+# libunwind_setjmp_la_SOURCES += sh/siglongjmp.S
endif # ARCH_SH
endif # ARCH_PPC64
@@ -549,7 +549,7 @@ endif # ARCH_ARM
# libunwind-setjmp depends on libunwind-$(arch). Therefore must be added
# at the end.
if !REMOTE_ONLY
-lib_LTLIBRARIES += libunwind-setjmp.la
+#lib_LTLIBRARIES += libunwind-setjmp.la
endif
#
diff --git a/tests/Makefile.am b/tests/Makefile.am
index a367eed..3f47e80 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -45,7 +45,7 @@ endif #!ARCH_IA64
Gtest-dyn1 Ltest-dyn1 \
Gtest-trace Ltest-trace \
test-async-sig test-flush-cache test-init-remote \
- test-mem test-setjmp test-ptrace Ltest-varargs \
+ test-mem test-ptrace Ltest-varargs \
Ltest-nomalloc Ltest-nocalloc Lrs-race
noinst_PROGRAMS_cdep = forker crasher mapper test-ptrace-misc \
Gperf-simple Lperf-simple
@@ -134,8 +134,8 @@ if USE_ELFXX
LIBUNWIND_ELF = $(top_builddir)/src/libunwind-elfxx.la
endif
-LIBUNWIND_setjmp = $(top_builddir)/src/libunwind-setjmp.la \
- $(LIBUNWIND_ELF) $(LIBUNWIND)
+#LIBUNWIND_setjmp = $(top_builddir)/src/libunwind-setjmp.la \
+# $(LIBUNWIND_ELF) $(LIBUNWIND)
test_async_sig_LDADD = $(LIBUNWIND_local) -lpthread
test_flush_cache_LDADD = $(LIBUNWIND_local)
@@ -172,8 +172,8 @@ Lperf_simple_LDADD = $(LIBUNWIND_local)
Ltest_trace_LDADD = $(LIBUNWIND_local)
Lperf_trace_LDADD = $(LIBUNWIND_local)
-test_setjmp_LDADD = $(LIBUNWIND_setjmp)
-ia64_test_setjmp_LDADD = $(LIBUNWIND_setjmp)
+#test_setjmp_LDADD = $(LIBUNWIND_setjmp)
+#ia64_test_setjmp_LDADD = $(LIBUNWIND_setjmp)
if BUILD_COREDUMP
test_coredump_unwind_LDADD = $(LIBUNWIND_coredump) $(LIBUNWIND)

View File

@ -1,9 +0,0 @@
diff -Nur libunwind-1.1/tests/Makefile.am libunwind-1.1~/tests/Makefile.am
--- libunwind-1.1/tests/Makefile.am 2014-01-20 11:26:56.229924564 -0500
+++ libunwind-1.1~/tests/Makefile.am 2014-01-20 11:25:39.318794342 -0500
@@ -189,3 +189,5 @@
Lia64_test_readonly_LDADD = $(LIBUNWIND_local)
ia64_test_dyn1_LDADD = $(LIBUNWIND)
ia64_test_sig_LDADD = $(LIBUNWIND)
+
+ppc64_test_altivec_LDADD = $(LIBUNWIND)

View File

@ -3,21 +3,17 @@
Summary: An unwinding library Summary: An unwinding library
Name: libunwind Name: libunwind
Version: 1.1 Version: 1.2
Release: 12%{?dist} Release: 1%{?dist}
License: BSD License: BSD
Group: Development/Debuggers Group: Development/Debuggers
Source: http://download.savannah.gnu.org/releases/libunwind/libunwind-%{version}.tar.gz Source: http://download-mirror.savannah.gnu.org/releases/libunwind/libunwind-%{version}.tar.gz
#Fedora specific patch #Fedora specific patch
Patch1: libunwind-disable-setjmp.patch Patch1: libunwind-arm-default-to-exidx.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 URL: http://savannah.nongnu.org/projects/libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} %{ix86} x86_64 ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} %{ix86} x86_64
BuildRequires: automake libtool autoconf BuildRequires: automake libtool autoconf texlive-latex2man
# host != target would cause REMOTE_ONLY build even if building i386 on x86_64. # host != target would cause REMOTE_ONLY build even if building i386 on x86_64.
%global _host %{_target_platform} %global _host %{_target_platform}
@ -36,11 +32,7 @@ libunwind.
%prep %prep
%setup -q %setup -q
%patch1 -p1 %patch1 -p1 -b .default-to-exidx
%patch2 -p1
%patch3 -p1
%patch4 -p1 -b .default-to-exidx
%patch5 -p1 -b .CVE-2015-3239
%build %build
aclocal aclocal
@ -48,7 +40,7 @@ libtoolize --force
autoheader autoheader
automake --add-missing automake --add-missing
autoconf autoconf
%configure --enable-static --enable-shared %configure --enable-static --enable-shared --enable-setjmp=no
make %{?_smp_mflags} make %{?_smp_mflags}
%install %install
@ -92,6 +84,10 @@ echo ====================TESTSUITE DISABLED=========================
%{_includedir}/libunwind*.h %{_includedir}/libunwind*.h
%changelog %changelog
* Thu Jun 1 2017 Jes Sorensen <jes.sorensen@gmail.com> - 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 <releng@fedoraproject.org> - 1.1-12 * Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

View File

@ -1 +1 @@
fb4ea2f6fbbe45bf032cd36e586883ce libunwind-1.1.tar.gz SHA512 (libunwind-1.2.tar.gz) = 985d0817944e3cafd99aaa5642862d878972e0851f7954289247e808c9319f399ca29342395f0571cb6568a1104a82bd92d585936f2ca888dda37ac796fde0d4