summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Maste <emaste@freebsd.org>2015-08-13 13:45:45 +0000
committerEd Maste <emaste@freebsd.org>2015-08-13 13:45:45 +0000
commit632aa38f313c507ce3aec732dc2a6d2259502731 (patch)
tree1c9c1bb5836177dee862e1939ee3c0f3f6dea085
parentc6c77312e409ef567c14be08ebfc65f675adea83 (diff)
downloadlibunwind_llvm-632aa38f313c507ce3aec732dc2a6d2259502731.tar.gz
Correct sense of unwind return address register range assertion
I encountered this on FreeBSD/arm64, and then found the same issue was reported by Daniil Troshkov. git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@244892 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--src/DwarfInstructions.hpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/DwarfInstructions.hpp b/src/DwarfInstructions.hpp
index dfe45fb..ce90aa0 100644
--- a/src/DwarfInstructions.hpp
+++ b/src/DwarfInstructions.hpp
@@ -170,7 +170,7 @@ int DwarfInstructions<A, R>::stepWithDwarf(A &addressSpace, pint_t pc,
const int lastReg = R::lastDwarfRegNum();
assert((int)CFI_Parser<A>::kMaxRegisterNumber > lastReg &&
"register range too large");
- assert(lastReg <= (int)cieInfo.returnAddressRegister &&
+ assert(lastReg >= (int)cieInfo.returnAddressRegister &&
"register range does not contain return address register");
for (int i = 0; i <= lastReg; ++i) {
if (prolog.savedRegisters[i].location !=