diff options
author | Khem Raj <raj.khem@gmail.com> | 2016-05-11 10:35:24 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-05-13 13:41:30 +0100 |
commit | ca8ae667ac9f60fce217c87154967a81da888d74 (patch) | |
tree | 2faf1dd3db122b5cba61074a9c6fba4558e91657 /meta/recipes-support/libunwind/libunwind/0001-x86-Stub-out-x86_local_resume.patch | |
parent | 08a9f5dec693ba69dafe53b4ab05dc15d82ee40b (diff) | |
download | poky-ca8ae667ac9f60fce217c87154967a81da888d74.tar.gz |
libunwind: Upgrade to 1.2rc1+
This helps in compiling with gcc6
drop patches backported to 1.1
remove musl conditional patches, they should work
on glibc too now
(From OE-Core rev: d164b4dbcbba4dd7db4c4257e6cd876026c2e7eb)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/libunwind/libunwind/0001-x86-Stub-out-x86_local_resume.patch')
-rw-r--r-- | meta/recipes-support/libunwind/libunwind/0001-x86-Stub-out-x86_local_resume.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/meta/recipes-support/libunwind/libunwind/0001-x86-Stub-out-x86_local_resume.patch b/meta/recipes-support/libunwind/libunwind/0001-x86-Stub-out-x86_local_resume.patch new file mode 100644 index 0000000000..371013aaaa --- /dev/null +++ b/meta/recipes-support/libunwind/libunwind/0001-x86-Stub-out-x86_local_resume.patch | |||
@@ -0,0 +1,54 @@ | |||
1 | From f5df01655a4b76d4fe415747de581d94ac593e6a Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 22 Mar 2016 16:19:29 +0000 | ||
4 | Subject: [PATCH] x86: Stub out x86_local_resume() | ||
5 | |||
6 | its purpose seems | ||
7 | to be unwinding across signal handler boundaries, which cannot happen | ||
8 | in correct programs anyway. Replacing the whole function with | ||
9 | something like *(volatile char *)0=0; (i.e. crash), gets a working | ||
10 | libunwind | ||
11 | |||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | --- | ||
14 | Upstream-Status: Pending | ||
15 | |||
16 | src/x86/Gos-linux.c | 22 +--------------------- | ||
17 | 1 file changed, 1 insertion(+), 21 deletions(-) | ||
18 | |||
19 | diff --git a/src/x86/Gos-linux.c b/src/x86/Gos-linux.c | ||
20 | index 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 | -- | ||
53 | 1.8.3.1 | ||
54 | |||