This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 3.x development tree".
The branch, master has been updated via 4776125b98c8ed617a4eb7491739a2290a2d5268 (commit) via d1ecc343927899c30c0e7930cd9178207c30a977 (commit) from 86e241bd3f6e12300ca084399a7ec084e736d301 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 4776125b98c8ed617a4eb7491739a2290a2d5268 Merge: d1ecc34 86e241b Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Dec 28 00:49:15 2012 +0100
Merge branch 'master' of ssh://git.ipfire.org/pub/git/ipfire-3.x
commit d1ecc343927899c30c0e7930cd9178207c30a977 Author: Michael Tremer michael.tremer@ipfire.org Date: Fri Dec 28 00:48:49 2012 +0100
libunwind: New package.
An unwinding library.
-----------------------------------------------------------------------
Summary of changes: libunwind/libunwind.nm | 62 ++++++++ .../patches/libunwind-arm-register-rename.patch | 59 +++++++ libunwind/patches/libunwind-disable-setjmp.patch | 170 +++++++++++++++++++++ 3 files changed, 291 insertions(+) create mode 100644 libunwind/libunwind.nm create mode 100644 libunwind/patches/libunwind-arm-register-rename.patch create mode 100644 libunwind/patches/libunwind-disable-setjmp.patch
Difference in files: diff --git a/libunwind/libunwind.nm b/libunwind/libunwind.nm new file mode 100644 index 0000000..eb8dbc6 --- /dev/null +++ b/libunwind/libunwind.nm @@ -0,0 +1,62 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team info@ipfire.org # +############################################################################### + +name = libunwind +version = 1.0.1 +release = 1 + +groups = Development/Debuggers +url = http://savannah.nongnu.org/projects/libunwind +license = BSD +summary = An unwinding library. + +description + Libunwind provides a C ABI to determine the call-chain of a program. +end + +source_dl = http://download.savannah.gnu.org/releases/libunwind/ + +build + requires + autoconf + automake + libtool + end + + prepare_cmds + aclocal + libtoolize --force + autoheader + automake --add-missing + autoconf + end + + configure_options += \ + --enable-static \ + --enable-shared + + keep_libraries = %{libdir}/libunwind-ptrace.a + + # Does not work very well. + #test + # make check + #end + + install_cmds + rm -vf %{BUILDROOT}%{libdir}/libunwind-ptrace.so* + end +end + +packages + package %{name} + + package %{name}-devel + template DEVEL + end + + package %{name}-debuginfo + template DEBUGINFO + end +end diff --git a/libunwind/patches/libunwind-arm-register-rename.patch b/libunwind/patches/libunwind-arm-register-rename.patch new file mode 100644 index 0000000..9d7b91c --- /dev/null +++ b/libunwind/patches/libunwind-arm-register-rename.patch @@ -0,0 +1,59 @@ +--- 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 diff --git a/libunwind/patches/libunwind-disable-setjmp.patch b/libunwind/patches/libunwind-disable-setjmp.patch new file mode 100644 index 0000000..ef68f64 --- /dev/null +++ b/libunwind/patches/libunwind-disable-setjmp.patch @@ -0,0 +1,170 @@ +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) +
hooks/post-receive -- IPFire 3.x development tree