summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-support/libunwind/libunwind-1.1/0001-disable-tests.patch31
-rw-r--r--meta/recipes-support/libunwind/libunwind-1.1/0001-x86-Stub-out-x86_local_resume.patch54
-rw-r--r--meta/recipes-support/libunwind/libunwind.inc4
-rw-r--r--meta/recipes-support/libunwind/libunwind_1.1.bb21
4 files changed, 99 insertions, 11 deletions
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/0001-disable-tests.patch b/meta/recipes-support/libunwind/libunwind-1.1/0001-disable-tests.patch
new file mode 100644
index 0000000000..7309ffd865
--- /dev/null
+++ b/meta/recipes-support/libunwind/libunwind-1.1/0001-disable-tests.patch
@@ -0,0 +1,31 @@
1From b07435a90bd636ee718e2238fb46c74a6dd5e069 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 22 Mar 2016 16:41:13 +0000
4Subject: [PATCH] disable tests
5
6Tests use getcontext() API which is
7not there on musl
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11Upstream-Status: Inappropriate [MUSL-only]
12
13 Makefile.am | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/Makefile.am b/Makefile.am
17index e24fe1e..15380e4 100644
18--- a/Makefile.am
19+++ b/Makefile.am
20@@ -39,7 +39,7 @@ endif
21
22 nodist_include_HEADERS = include/libunwind-common.h
23
24-SUBDIRS = src tests doc
25+SUBDIRS = src doc
26
27 noinst_HEADERS = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h \
28 include/compiler.h include/libunwind_i.h include/mempool.h \
29--
301.8.3.1
31
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/0001-x86-Stub-out-x86_local_resume.patch b/meta/recipes-support/libunwind/libunwind-1.1/0001-x86-Stub-out-x86_local_resume.patch
new file mode 100644
index 0000000000..371013aaaa
--- /dev/null
+++ b/meta/recipes-support/libunwind/libunwind-1.1/0001-x86-Stub-out-x86_local_resume.patch
@@ -0,0 +1,54 @@
1From f5df01655a4b76d4fe415747de581d94ac593e6a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 22 Mar 2016 16:19:29 +0000
4Subject: [PATCH] x86: Stub out x86_local_resume()
5
6its purpose seems
7to be unwinding across signal handler boundaries, which cannot happen
8in correct programs anyway. Replacing the whole function with
9something like *(volatile char *)0=0; (i.e. crash), gets a working
10libunwind
11
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14Upstream-Status: Pending
15
16 src/x86/Gos-linux.c | 22 +---------------------
17 1 file changed, 1 insertion(+), 21 deletions(-)
18
19diff --git a/src/x86/Gos-linux.c b/src/x86/Gos-linux.c
20index 31f83ba..3aaa34e 100644
21--- a/src/x86/Gos-linux.c
22+++ b/src/x86/Gos-linux.c
23@@ -281,27 +281,7 @@ x86_r_uc_addr (ucontext_t *uc, int reg)
24 HIDDEN int
25 x86_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, void *arg)
26 {
27- struct cursor *c = (struct cursor *) cursor;
28- ucontext_t *uc = c->uc;
29-
30- /* Ensure c->pi is up-to-date. On x86, it's relatively common to be
31- missing DWARF unwind info. We don't want to fail in that case,
32- because the frame-chain still would let us do a backtrace at
33- least. */
34- dwarf_make_proc_info (&c->dwarf);
35-
36- if (unlikely (c->sigcontext_format != X86_SCF_NONE))
37- {
38- struct sigcontext *sc = (struct sigcontext *) c->sigcontext_addr;
39-
40- Debug (8, "resuming at ip=%x via sigreturn(%p)\n", c->dwarf.ip, sc);
41- sigreturn (sc);
42- }
43- else
44- {
45- Debug (8, "resuming at ip=%x via setcontext()\n", c->dwarf.ip);
46- setcontext (uc);
47- }
48+ *(volatile char *)0=0;
49 return -UNW_EINVAL;
50 }
51 #endif
52--
531.8.3.1
54
diff --git a/meta/recipes-support/libunwind/libunwind.inc b/meta/recipes-support/libunwind/libunwind.inc
index f83614bf5c..1c342d3922 100644
--- a/meta/recipes-support/libunwind/libunwind.inc
+++ b/meta/recipes-support/libunwind/libunwind.inc
@@ -5,8 +5,6 @@ LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=3fced11d6df719b47505837a51c16ae5" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=3fced11d6df719b47505837a51c16ae5"
6DEPENDS += "libatomic-ops" 6DEPENDS += "libatomic-ops"
7 7
8SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
9
10inherit autotools 8inherit autotools
11 9
12PACKAGECONFIG ??= "" 10PACKAGECONFIG ??= ""
@@ -29,4 +27,6 @@ LDFLAGS_append_aarch64 = " -fuse-ld=gold"
29LDFLAGS_append_powerpc = " -fuse-ld=gold -mbss-plt" 27LDFLAGS_append_powerpc = " -fuse-ld=gold -mbss-plt"
30LDFLAGS_append_powerpc64 = " -fuse-ld=gold -mbss-plt" 28LDFLAGS_append_powerpc64 = " -fuse-ld=gold -mbss-plt"
31 29
30SECURITY_LDFLAGS_append_libc-musl = " -lssp_nonshared -lssp"
31
32BBCLASSEXTEND = "native" 32BBCLASSEXTEND = "native"
diff --git a/meta/recipes-support/libunwind/libunwind_1.1.bb b/meta/recipes-support/libunwind/libunwind_1.1.bb
index 7df9f5ee05..1ed525f515 100644
--- a/meta/recipes-support/libunwind/libunwind_1.1.bb
+++ b/meta/recipes-support/libunwind/libunwind_1.1.bb
@@ -1,15 +1,18 @@
1require libunwind.inc 1require libunwind.inc
2 2
3SRC_URI += "\ 3SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
4 file://Support-building-with-older-compilers.patch \ 4 file://Support-building-with-older-compilers.patch \
5 file://AArch64-port.patch \ 5 file://AArch64-port.patch \
6 file://Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch \ 6 file://Fix-test-case-link-failure-on-PowerPC-systems-with-Altivec.patch \
7 file://Link-libunwind-to-libgcc_s-rather-than-libgcc.patch \ 7 file://Link-libunwind-to-libgcc_s-rather-than-libgcc.patch \
8 file://0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch \ 8 file://0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch \
9 file://Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch \ 9 file://Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch \
10 file://0001-backtrace-Use-only-with-glibc-and-uclibc.patch \ 10 file://0001-backtrace-Use-only-with-glibc-and-uclibc.patch \
11"
12SRC_URI_append_libc-musl = "\
13 file://0001-x86-Stub-out-x86_local_resume.patch \
14 file://0001-disable-tests.patch \
11" 15"
12
13SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce" 16SRC_URI[md5sum] = "fb4ea2f6fbbe45bf032cd36e586883ce"
14SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a" 17SRC_URI[sha256sum] = "9dfe0fcae2a866de9d3942c66995e4b460230446887dbdab302d41a8aee8d09a"
15 18