--- /dev/null
+--- 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
--- /dev/null
+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 .
+
+--- 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
+@@ -1,5 +1,5 @@
+ SOVERSION=8:0:0 # See comments at end of file.
+-SETJMP_SO_VERSION=0:0:0
++#SETJMP_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
+
+ ### 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
+@@ -40,12 +40,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 =
+@@ -373,7 +373,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
+ ia64_mk_Gcursor_i_SOURCES = ia64/mk_Gcursor_i.c
+@@ -393,8 +393,8 @@ Lcursor_i.h: ia64/mk_Lcursor_i
+ 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
+@@ -406,7 +406,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
+@@ -418,7 +418,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
+@@ -430,7 +430,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
+@@ -442,7 +442,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
+@@ -454,7 +454,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
+@@ -466,7 +466,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
+
+ endif # ARCH_PPC64
+ endif # ARCH_PPC32
+@@ -480,7 +480,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
+
+ #
+--- 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
+ 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 \
+ Gperf-simple Lperf-simple
+
+@@ -123,8 +124,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)
+@@ -159,6 +160,6 @@ 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)
+