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)