mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-21 23:27:39 +01:00
aarch64: fix wrong big_endian flag in aarch64_be case
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>
This commit is contained in:
parent
743668f669
commit
16e98c8cf3
1 changed files with 1 additions and 0 deletions
|
@ -181,6 +181,7 @@ aarch64_local_addr_space_init (void)
|
||||||
local_addr_space.acc.access_fpreg = access_fpreg;
|
local_addr_space.acc.access_fpreg = access_fpreg;
|
||||||
local_addr_space.acc.resume = aarch64_local_resume;
|
local_addr_space.acc.resume = aarch64_local_resume;
|
||||||
local_addr_space.acc.get_proc_name = get_static_proc_name;
|
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);
|
unw_flush_cache (&local_addr_space, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue