aboutsummaryrefslogtreecommitdiff
path: root/libunwind
diff options
context:
space:
mode:
authorDaniel Kiss <daniel.kiss@arm.com>2021-10-01 16:49:37 +0200
committerDaniel Kiss <daniel.kiss@arm.com>2021-10-01 16:51:51 +0200
commit532783f9e1e65c7bd48b1592d2376e9dd47c5a73 (patch)
tree78eddf41e53dc4378423fbd6bbb2ae9480fe4645 /libunwind
parent47d6274d4c31c9b46d059a7421277bef0395a869 (diff)
downloadllvm-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.hpp6
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: