From efcecb86c9dcf84e11e114ebdbea70edee756d41 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 17 Apr 2017 17:02:50 +0200 Subject: libunwind: add new package --- package/libunwind/Makefile | 27 ++++++++++++++++++++++ package/libunwind/patches/patch-Makefile_in | 20 ++++++++++++++++ .../libunwind/patches/patch-src_x86_Gos-linux_c | 24 +++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 package/libunwind/Makefile create mode 100644 package/libunwind/patches/patch-Makefile_in create mode 100644 package/libunwind/patches/patch-src_x86_Gos-linux_c (limited to 'package/libunwind') 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 -- cgit v1.2.3