mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 08:29:42 +01:00
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>
This commit is contained in:
committed by
Richard Purdie
parent
e7d3dcbcbb
commit
9c812e7d3c
@@ -0,0 +1,33 @@
|
||||
From 743668f66916b6bb03c92b04be5216400951ace6 Mon Sep 17 00:00:00 2001
|
||||
From: Victor Kamensky <victor.kamensky@linaro.org>
|
||||
Date: Wed, 3 Dec 2014 17:35:43 -0800
|
||||
Subject: [PATCH 1/2] aarch64: introduce build support for aarch64_be target
|
||||
|
||||
Upstream-Status: backport
|
||||
|
||||
Introduce support for aarch64_be, aarch64 big endian, target.
|
||||
We would like to reuse all code that was done for aarch64
|
||||
(little endian) target. So we do similar thing that is done
|
||||
for ARM v7 (arm) target for any aarch64* arch we set it
|
||||
just to aarch64.
|
||||
|
||||
Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
|
||||
---
|
||||
configure.ac | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 582e71f..c59f526 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -88,6 +88,7 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
||||
|
||||
AC_DEFUN([SET_ARCH],[
|
||||
AS_CASE([$1],
|
||||
+ [aarch64*],[$2=aarch64],
|
||||
[arm*],[$2=arm],
|
||||
[i?86],[$2=x86],
|
||||
[hppa*],[$2=hppa],
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 16e98c8cf37b006c3879ee57acc23c9af13c40d5 Mon Sep 17 00:00:00 2001
|
||||
From: Victor Kamensky <victor.kamensky@linaro.org>
|
||||
Date: Wed, 3 Dec 2014 17:35:44 -0800
|
||||
Subject: [PATCH 2/2] aarch64: fix wrong big_endian flag in aarch64_be case
|
||||
|
||||
Upstream-Status: backport
|
||||
|
||||
Set local_addr_space.big_endian flag according to current target
|
||||
endianness. Before it was set by memset to 0, which corresponds
|
||||
to little endian and it worked perfectly fine for aarch64.
|
||||
But it breaks aarch64_be because dwarf_readu16, dwarf_readu32,
|
||||
etc functions do not read values correctly since they operate
|
||||
with wrong idea about current target endianness.
|
||||
|
||||
Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
|
||||
---
|
||||
src/aarch64/Ginit.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/aarch64/Ginit.c b/src/aarch64/Ginit.c
|
||||
index 0bc8997..b9181ef 100644
|
||||
--- a/src/aarch64/Ginit.c
|
||||
+++ b/src/aarch64/Ginit.c
|
||||
@@ -181,6 +181,7 @@ aarch64_local_addr_space_init (void)
|
||||
local_addr_space.acc.access_fpreg = access_fpreg;
|
||||
local_addr_space.acc.resume = aarch64_local_resume;
|
||||
local_addr_space.acc.get_proc_name = get_static_proc_name;
|
||||
+ local_addr_space.big_endian = (__BYTE_ORDER == __BIG_ENDIAN);
|
||||
unw_flush_cache (&local_addr_space, 0, 0);
|
||||
}
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -8,6 +8,8 @@ SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
|
||||
file://0001-Invalid-dwarf-opcodes-can-cause-references-beyond-th.patch \
|
||||
file://Add-AO_REQUIRE_CAS-to-fix-build-on-ARM-v6.patch \
|
||||
file://0001-backtrace-Use-only-with-glibc-and-uclibc.patch \
|
||||
file://0001-aarch64-introduce-build-support-for-aarch64_be-targe.patch \
|
||||
file://0002-aarch64-fix-wrong-big_endian-flag-in-aarch64_be-case.patch \
|
||||
"
|
||||
SRC_URI_append_libc-musl = "\
|
||||
file://0001-x86-Stub-out-x86_local_resume.patch \
|
||||
|
||||
Reference in New Issue
Block a user