summaryrefslogtreecommitdiffstats
path: root/libunwind
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
commit76050da17ee887aa269d9aeef8e11a657cf9d335 (patch)
tree496cb8898017a23a4c9b72c60adb36b84dc585ea /libunwind
parent033181bcd2f1c3b21515072aa8f548e7899cfec6 (diff)
downloadbcm5719-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.hpp2
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 !=
OpenPOWER on IntegriCloud