summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch
diff options
context:
space:
mode:
authorRuslan Bilovol <rbilovol@cisco.com>2016-04-18 14:14:07 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-04-29 07:58:43 +0100
commit9c812e7d3c612c505fd4e624056e11765e5a3506 (patch)
tree92cef84451f77cf7c073864d7cd015e198544a77 /meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch
parente7d3dcbcbba5ae3f600d0e6878b432497b851d39 (diff)
downloadpoky-9c812e7d3c612c505fd4e624056e11765e5a3506.tar.gz
libunwind: backport aarch64_be support
Backport 2 patches from v1.2-rc1 tag of libunwind git repo. These patches add aarch64_be support to this package. (From OE-Core rev: 396353c3127b20244c4c5cc321adad7d4e48f544) Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch')
-rw-r--r--meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch b/meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch
new file mode 100644
index 0000000000..2ae4477368
--- /dev/null
+++ b/meta/recipes-support/libunwind/libunwind-1.1/0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch
@@ -0,0 +1,34 @@
1From 16e98c8cf37b006c3879ee57acc23c9af13c40d5 Mon Sep 17 00:00:00 2001
2From: Victor Kamensky <victor.kamensky@linaro.org>
3Date: Wed, 3 Dec 2014 17:35:44 -0800
4Subject: [PATCH 2/2] aarch64: fix wrong big_endian flag in aarch64_be case
5
6Upstream-Status: backport
7
8Set local_addr_space.big_endian flag according to current target
9endianness. Before it was set by memset to 0, which corresponds
10to little endian and it worked perfectly fine for aarch64.
11But it breaks aarch64_be because dwarf_readu16, dwarf_readu32,
12etc functions do not read values correctly since they operate
13with wrong idea about current target endianness.
14
15Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
16---
17 src/aarch64/Ginit.c | 1 +
18 1 file changed, 1 insertion(+)
19
20diff --git a/src/aarch64/Ginit.c b/src/aarch64/Ginit.c
21index 0bc8997..b9181ef 100644
22--- a/src/aarch64/Ginit.c
23+++ b/src/aarch64/Ginit.c
24@@ -181,6 +181,7 @@ aarch64_local_addr_space_init (void)
25 local_addr_space.acc.access_fpreg = access_fpreg;
26 local_addr_space.acc.resume = aarch64_local_resume;
27 local_addr_space.acc.get_proc_name = get_static_proc_name;
28+ local_addr_space.big_endian = (__BYTE_ORDER == __BIG_ENDIAN);
29 unw_flush_cache (&local_addr_space, 0, 0);
30 }
31
32--
331.9.1
34