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 | 76050da17ee887aa269d9aeef8e11a657cf9d335 (patch) | |
tree | 496cb8898017a23a4c9b72c60adb36b84dc585ea /libunwind | |
parent | 033181bcd2f1c3b21515072aa8f548e7899cfec6 (diff) | |
download | bcm5719-llvm-76050da17ee887aa269d9aeef8e11a657cf9d335.tar.gz bcm5719-llvm-76050da17ee887aa269d9aeef8e11a657cf9d335.zip |
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.
llvm-svn: 244892
Diffstat (limited to 'libunwind')
-rw-r--r-- | libunwind/src/DwarfInstructions.hpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libunwind/src/DwarfInstructions.hpp b/libunwind/src/DwarfInstructions.hpp index dfe45fbdf8f..ce90aa05f53 100644 --- a/libunwind/src/DwarfInstructions.hpp +++ b/libunwind/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 != |