diff options
author | Daniel Kiss <daniel.kiss@arm.com> | 2021-10-01 16:49:37 +0200 |
---|---|---|
committer | Daniel Kiss <daniel.kiss@arm.com> | 2021-10-01 16:51:51 +0200 |
commit | 532783f9e1e65c7bd48b1592d2376e9dd47c5a73 (patch) | |
tree | 78eddf41e53dc4378423fbd6bbb2ae9480fe4645 /libunwind | |
parent | 47d6274d4c31c9b46d059a7421277bef0395a869 (diff) | |
download | llvm-532783f9e1e65c7bd48b1592d2376e9dd47c5a73.zip llvm-532783f9e1e65c7bd48b1592d2376e9dd47c5a73.tar.gz llvm-532783f9e1e65c7bd48b1592d2376e9dd47c5a73.tar.bz2 |
[libunwind] Fix cfi_register for float registers.
Fixes D110144.
registers.getFloatRegister is not const in ARM therefor can't be called here.
Reviewed By: mstorsjo, #libunwind
Differential Revision: https://reviews.llvm.org/D110731
Diffstat (limited to 'libunwind')
-rw-r--r-- | libunwind/src/DwarfInstructions.hpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libunwind/src/DwarfInstructions.hpp b/libunwind/src/DwarfInstructions.hpp index 53baf6a..b58c51b 100644 --- a/libunwind/src/DwarfInstructions.hpp +++ b/libunwind/src/DwarfInstructions.hpp @@ -115,10 +115,12 @@ double DwarfInstructions<A, R>::getSavedFloatRegister( return addressSpace.getDouble( evaluateExpression((pint_t)savedReg.value, addressSpace, registers, cfa)); - case CFI_Parser<A>::kRegisterInRegister: - return registers.getFloatRegister((int)savedReg.value); case CFI_Parser<A>::kRegisterUndefined: return 0.0; + case CFI_Parser<A>::kRegisterInRegister: +#ifndef _LIBUNWIND_TARGET_ARM + return registers.getFloatRegister((int)savedReg.value); +#endif case CFI_Parser<A>::kRegisterIsExpression: case CFI_Parser<A>::kRegisterUnused: case CFI_Parser<A>::kRegisterOffsetFromCFA: |