libunwind: Update to 1.1

This commit is contained in:
Michael Tremer 2015-03-31 19:53:29 -04:00
parent 0e3f04f44b
commit add5a956c9
4 changed files with 2621 additions and 98 deletions

View File

@ -4,7 +4,7 @@
###############################################################################
name = libunwind
version = 1.0.1
version = 1.1
release = 1
groups = Development/Debuggers
@ -31,6 +31,11 @@ build
autoheader
automake --add-missing
autoconf
# for aarch64
for i in $(find . -name config.guess -or -name config.sub); do
cp -vf %{datadir}/automake-*/config.{guess,sub} $(dirname ${i})
done
end
configure_options += \

File diff suppressed because it is too large Load Diff

View File

@ -1,59 +0,0 @@
--- libunwind-1.0.1/src/arm/init.h.orig 2012-02-15 18:33:08.000000000 -0500
+++ libunwind-1.0.1/src/arm/init.h 2012-02-15 18:29:19.000000000 -0500
@@ -29,26 +29,26 @@
{
int ret, i;
- c->dwarf.loc[R0] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R0);
- c->dwarf.loc[R1] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R1);
- c->dwarf.loc[R2] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R2);
- c->dwarf.loc[R3] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R3);
- c->dwarf.loc[R4] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R4);
- c->dwarf.loc[R5] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R5);
- c->dwarf.loc[R6] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R6);
- c->dwarf.loc[R7] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R7);
- c->dwarf.loc[R8] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R8);
- c->dwarf.loc[R9] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R9);
- c->dwarf.loc[R10] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R10);
- c->dwarf.loc[R11] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R11);
- c->dwarf.loc[R12] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R12);
- c->dwarf.loc[R13] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R13);
- c->dwarf.loc[R14] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R14);
- c->dwarf.loc[R15] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R15);
- for (i = R15 + 1; i < DWARF_NUM_PRESERVED_REGS; ++i)
+ c->dwarf.loc[REG_R0] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R0);
+ c->dwarf.loc[REG_R1] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R1);
+ c->dwarf.loc[REG_R2] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R2);
+ c->dwarf.loc[REG_R3] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R3);
+ c->dwarf.loc[REG_R4] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R4);
+ c->dwarf.loc[REG_R5] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R5);
+ c->dwarf.loc[REG_R6] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R6);
+ c->dwarf.loc[REG_R7] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R7);
+ c->dwarf.loc[REG_R8] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R8);
+ c->dwarf.loc[REG_R9] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R9);
+ c->dwarf.loc[REG_R10] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R10);
+ c->dwarf.loc[REG_R11] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R11);
+ c->dwarf.loc[REG_R12] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R12);
+ c->dwarf.loc[REG_R13] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R13);
+ c->dwarf.loc[REG_R14] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R14);
+ c->dwarf.loc[REG_R15] = DWARF_REG_LOC (&c->dwarf, UNW_ARM_R15);
+ for (i = REG_R15 + 1; i < DWARF_NUM_PRESERVED_REGS; ++i)
c->dwarf.loc[i] = DWARF_NULL_LOC;
- ret = dwarf_get (&c->dwarf, c->dwarf.loc[R15], &c->dwarf.ip);
+ ret = dwarf_get (&c->dwarf, c->dwarf.loc[REG_R15], &c->dwarf.ip);
if (ret < 0)
return ret;
--- libunwind-1.0.1/src/arm/Gglobal.c.orig 2012-02-15 18:33:21.000000000 -0500
+++ libunwind-1.0.1/src/arm/Gglobal.c 2012-02-15 18:28:27.000000000 -0500
@@ -37,7 +37,8 @@
HIDDEN uint8_t dwarf_to_unw_regnum_map[16] =
{
- R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15
+ REG_R0, REG_R1, REG_R2, REG_R3, REG_R4, REG_R5, REG_R6, REG_R7,
+ REG_R8, REG_R9, REG_R10, REG_R11, REG_R12, REG_R13, REG_R14, REG_R15
};
HIDDEN void

View File

@ -4,17 +4,30 @@ match src/setjmp/setjmp.c + include/tdep-x86_64/jmpbuf.h .
google-perftools link only with libunwind.so.7 .
--- libunwind-1.0.1-orig/src/Makefile.am 2011-09-11 05:06:41.000000000 +0200
+++ libunwind-1.0.1/src/Makefile.am 2011-09-15 13:55:42.000000000 +0200
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:0:0 # See comments at end of file.
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:
#
@@ -27,8 +27,8 @@ libunwind_ptrace_a_SOURCES = \
noinst_HEADERS += ptrace/_UPT_internal.h
@@ -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) \
@ -24,7 +37,7 @@ google-perftools link only with libunwind.so.7 .
if USE_ELF32
LIBUNWIND_ELF = libunwind-elf32.la
@@ -40,12 +40,12 @@ if USE_ELFXX
@@ -74,12 +74,12 @@ if USE_ELFXX
LIBUNWIND_ELF = libunwind-elfxx.la
endif
@ -43,7 +56,7 @@ google-perftools link only with libunwind.so.7 .
### libunwind:
libunwind_la_LIBADD =
@@ -373,7 +373,7 @@ if ARCH_ARM
@@ -428,7 +428,7 @@ if ARCH_ARM
if !REMOTE_ONLY
libunwind_arm_la_LIBADD += libunwind.la -lc
endif
@ -51,8 +64,8 @@ google-perftools link only with libunwind.so.7 .
+# libunwind_setjmp_la_SOURCES += arm/siglongjmp.S
else
if ARCH_IA64
ia64_mk_Gcursor_i_SOURCES = ia64/mk_Gcursor_i.c
@@ -393,8 +393,8 @@ Lcursor_i.h: ia64/mk_Lcursor_i
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
@ -63,7 +76,7 @@ google-perftools link only with libunwind.so.7 .
else
if ARCH_HPPA
lib_LTLIBRARIES += libunwind-hppa.la
@@ -406,7 +406,7 @@ if ARCH_HPPA
@@ -462,7 +462,7 @@ if ARCH_HPPA
if !REMOTE_ONLY
libunwind_hppa_la_LIBADD += libunwind.la -lc
endif
@ -72,7 +85,7 @@ google-perftools link only with libunwind.so.7 .
else
if ARCH_MIPS
lib_LTLIBRARIES += libunwind-mips.la
@@ -418,7 +418,7 @@ if ARCH_MIPS
@@ -474,7 +474,7 @@ if ARCH_MIPS
if !REMOTE_ONLY
libunwind_mips_la_LIBADD += libunwind.la -lc
endif
@ -81,7 +94,7 @@ google-perftools link only with libunwind.so.7 .
else
if ARCH_X86
lib_LTLIBRARIES += libunwind-x86.la
@@ -430,7 +430,7 @@ if ARCH_X86
@@ -486,7 +486,7 @@ if ARCH_X86
if !REMOTE_ONLY
libunwind_x86_la_LIBADD += libunwind.la -lc
endif
@ -90,7 +103,7 @@ google-perftools link only with libunwind.so.7 .
else
if ARCH_X86_64
lib_LTLIBRARIES += libunwind-x86_64.la
@@ -442,7 +442,7 @@ if ARCH_X86_64
@@ -498,7 +498,7 @@ if ARCH_X86_64
if !REMOTE_ONLY
libunwind_x86_64_la_LIBADD += libunwind.la -lc
endif
@ -99,7 +112,7 @@ google-perftools link only with libunwind.so.7 .
else
if ARCH_PPC32
lib_LTLIBRARIES += libunwind-ppc32.la
@@ -454,7 +454,7 @@ if ARCH_PPC32
@@ -510,7 +510,7 @@ if ARCH_PPC32
if !REMOTE_ONLY
libunwind_ppc32_la_LIBADD += libunwind.la -lc
endif
@ -108,16 +121,25 @@ google-perftools link only with libunwind.so.7 .
else
if ARCH_PPC64
lib_LTLIBRARIES += libunwind-ppc64.la
@@ -466,7 +466,7 @@ if ARCH_PPC64
@@ -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
endif # ARCH_PPC32
@@ -480,7 +480,7 @@ endif # ARCH_ARM
@@ -549,7 +549,7 @@ endif # ARCH_ARM
# libunwind-setjmp depends on libunwind-$(arch). Therefore must be added
# at the end.
if !REMOTE_ONLY
@ -126,29 +148,20 @@ google-perftools link only with libunwind.so.7 .
endif
#
--- libunwind-1.0.1-orig/tests/Makefile.am 2011-09-11 05:06:41.000000000 +0200
+++ libunwind-1.0.1/tests/Makefile.am 2011-09-15 13:56:16.000000000 +0200
@@ -27,7 +27,7 @@ if ARCH_IA64
Gia64-test-nat Lia64-test-nat \
Gia64-test-rbs Lia64-test-rbs \
Gia64-test-readonly Lia64-test-readonly \
- ia64-test-setjmp ia64-test-sig
+ ia64-test-sig
else
if ARCH_PPC64
if USE_ALTIVEC
@@ -44,8 +44,9 @@ endif #ARCH_IA64
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 \
+ test-mem test-ptrace \
Ltest-nomalloc Ltest-nocalloc rs-race
+# test-setjmp
noinst_PROGRAMS_cdep = forker mapper test-ptrace-misc \
- 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
@@ -123,8 +124,8 @@ if USE_ELFXX
@@ -134,8 +134,8 @@ if USE_ELFXX
LIBUNWIND_ELF = $(top_builddir)/src/libunwind-elfxx.la
endif
@ -159,7 +172,7 @@ google-perftools link only with libunwind.so.7 .
test_async_sig_LDADD = $(LIBUNWIND_local) -lpthread
test_flush_cache_LDADD = $(LIBUNWIND_local)
@@ -159,6 +160,6 @@ Lperf_simple_LDADD = $(LIBUNWIND_local)
@@ -172,8 +172,8 @@ Lperf_simple_LDADD = $(LIBUNWIND_local)
Ltest_trace_LDADD = $(LIBUNWIND_local)
Lperf_trace_LDADD = $(LIBUNWIND_local)
@ -168,3 +181,5 @@ google-perftools link only with libunwind.so.7 .
+#test_setjmp_LDADD = $(LIBUNWIND_setjmp)
+#ia64_test_setjmp_LDADD = $(LIBUNWIND_setjmp)
if BUILD_COREDUMP
test_coredump_unwind_LDADD = $(LIBUNWIND_coredump) $(LIBUNWIND)