diff options
author | Doug Moore <dougm@rice.edu> | 2017-08-06 15:35:43 -0500 |
---|---|---|
committer | Dave Watson <davejwatson@fb.com> | 2017-08-07 09:05:17 -0700 |
commit | e360c3ddbd1fa182b6e5f7bf22a7b9836a9c1cd4 (patch) | |
tree | 85a3c89458432fd3f28cbf76beffa8adf9d8bfe2 /src/aarch64 | |
parent | 93f319466f3de6eb2dcd1e322d57ffe7cb71dcc3 (diff) | |
download | libunwind-e360c3ddbd1fa182b6e5f7bf22a7b9836a9c1cd4.tar.gz |
For architectures that initialize the dwarf ip cache, but do not
update when the ip register is set, add those updates.
Diffstat (limited to 'src/aarch64')
-rw-r--r-- | src/aarch64/Gregs.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/aarch64/Gregs.c b/src/aarch64/Gregs.c index 6288275b..3e014769 100644 --- a/src/aarch64/Gregs.c +++ b/src/aarch64/Gregs.c @@ -55,6 +55,9 @@ tdep_access_reg (struct cursor *c, unw_regnum_t reg, unw_word_t *valp, loc = c->dwarf.loc[reg]; break; + case UNW_AARCH64_PC: + if (write) + c->dwarf.ip = *valp; /* update the IP cache */ case UNW_AARCH64_X4: case UNW_AARCH64_X5: case UNW_AARCH64_X6: @@ -82,7 +85,6 @@ tdep_access_reg (struct cursor *c, unw_regnum_t reg, unw_word_t *valp, case UNW_AARCH64_X28: case UNW_AARCH64_X29: case UNW_AARCH64_X30: - case UNW_AARCH64_PC: case UNW_AARCH64_PSTATE: loc = c->dwarf.loc[reg]; break; |