diff options
author | Ed Maste <emaste@freebsd.org> | 2015-08-13 13:45:45 +0000 |
---|---|---|
committer | Ed Maste <emaste@freebsd.org> | 2015-08-13 13:45:45 +0000 |
commit | 632aa38f313c507ce3aec732dc2a6d2259502731 (patch) | |
tree | 1c9c1bb5836177dee862e1939ee3c0f3f6dea085 | |
parent | c6c77312e409ef567c14be08ebfc65f675adea83 (diff) | |
download | libunwind_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.hpp | 2 |
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 != |