summaryrefslogtreecommitdiff
path: root/package/libunwind
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2017-04-17 17:02:50 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2017-04-17 17:02:50 +0200
commitefcecb86c9dcf84e11e114ebdbea70edee756d41 (patch)
tree26a28be6c061dd297255d905cd52f2eac62aaa58 /package/libunwind
parent6c1ac96fd745eb991bbd81bed36113a84d133252 (diff)
libunwind: add new package
Diffstat (limited to 'package/libunwind')
-rw-r--r--package/libunwind/Makefile27
-rw-r--r--package/libunwind/patches/patch-Makefile_in20
-rw-r--r--package/libunwind/patches/patch-src_x86_Gos-linux_c24
3 files changed, 71 insertions, 0 deletions
diff --git a/package/libunwind/Makefile b/package/libunwind/Makefile
new file mode 100644
index 000000000..f369fc744
--- /dev/null
+++ b/package/libunwind/Makefile
@@ -0,0 +1,27 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:= libunwind
+PKG_VERSION:= 1.2
+PKG_RELEASE:= 1
+PKG_HASH:= 1de38ffbdc88bd694d10081865871cd2bfbb02ad8ef9e1606aee18d65532b992
+PKG_DESCR:= determine the call-chain of a program
+PKG_SECTION:= libs/misc
+PKG_URL:= https://savannah.nongnu.org/projects/libunwind/
+PKG_SITES:= http://download.savannah.nongnu.org/releases/libunwind/
+PKG_OPTS:= dev
+
+DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,LIBUNWIND,libunwind,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS)))
+
+libunwind-install:
+ $(INSTALL_DIR) $(IDIR_LIBUNWIND)/usr/lib
+ $(CP) $(WRKINST)/usr/lib/libunwind*.so* \
+ $(IDIR_LIBUNWIND)/usr/lib
+
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk
diff --git a/package/libunwind/patches/patch-Makefile_in b/package/libunwind/patches/patch-Makefile_in
new file mode 100644
index 000000000..79eb9ab75
--- /dev/null
+++ b/package/libunwind/patches/patch-Makefile_in
@@ -0,0 +1,20 @@
+--- libunwind-1.2.orig/Makefile.in 2017-01-13 17:00:58.000000000 +0100
++++ libunwind-1.2/Makefile.in 2017-04-17 16:57:53.104266427 +0200
+@@ -124,7 +124,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGE
+ distdir dist dist-all distcheck
+ ETAGS = etags
+ CTAGS = ctags
+-DIST_SUBDIRS = src tests doc
++DIST_SUBDIRS = src doc
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ distdir = $(PACKAGE)-$(VERSION)
+ top_distdir = $(distdir)
+@@ -306,7 +306,7 @@ include_HEADERS = include/libunwind-dyna
+ $(am__append_7) $(am__append_8) $(am__append_9) \
+ $(am__append_10) $(am__append_11) $(am__append_12)
+ nodist_include_HEADERS = include/libunwind-common.h
+-SUBDIRS = src tests $(am__append_13)
++SUBDIRS = src $(am__append_13)
+ noinst_HEADERS = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h \
+ include/compiler.h include/libunwind_i.h include/mempool.h \
+ include/remote.h \
diff --git a/package/libunwind/patches/patch-src_x86_Gos-linux_c b/package/libunwind/patches/patch-src_x86_Gos-linux_c
new file mode 100644
index 000000000..ecce53e4d
--- /dev/null
+++ b/package/libunwind/patches/patch-src_x86_Gos-linux_c
@@ -0,0 +1,24 @@
+--- libunwind-1.2.orig/src/x86/Gos-linux.c 2016-11-18 04:28:29.000000000 +0100
++++ libunwind-1.2/src/x86/Gos-linux.c 2017-04-17 16:59:08.339188080 +0200
+@@ -290,19 +290,8 @@ x86_local_resume (unw_addr_space_t as, u
+ because the frame-chain still would let us do a backtrace at
+ least. */
+ dwarf_make_proc_info (&c->dwarf);
+-
+- if (unlikely (c->sigcontext_format != X86_SCF_NONE))
+- {
+- struct sigcontext *sc = (struct sigcontext *) c->sigcontext_addr;
+-
+- Debug (8, "resuming at ip=%x via sigreturn(%p)\n", c->dwarf.ip, sc);
+- sigreturn (sc);
+- }
+- else
+- {
+- Debug (8, "resuming at ip=%x via setcontext()\n", c->dwarf.ip);
+- setcontext (uc);
+- }
++ Debug (8, "resuming at ip=%x via setcontext()\n", c->dwarf.ip);
++ setcontext (uc);
+ return -UNW_EINVAL;
+ }
+ #endif