[libunwind] r244892 - Correct sense of unwind return address register range assertion

Ed Maste via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 13 06:45:45 PDT 2015


Author: emaste
Date: Thu Aug 13 08:45:45 2015
New Revision: 244892

URL: http://llvm.org/viewvc/llvm-project?rev=244892&view=rev
Log:
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.

Modified:
    libunwind/trunk/src/DwarfInstructions.hpp

Modified: libunwind/trunk/src/DwarfInstructions.hpp
URL: http://llvm.org/viewvc/llvm-project/libunwind/trunk/src/DwarfInstructions.hpp?rev=244892&r1=244891&r2=244892&view=diff
==============================================================================
--- libunwind/trunk/src/DwarfInstructions.hpp (original)
+++ libunwind/trunk/src/DwarfInstructions.hpp Thu Aug 13 08:45:45 2015
@@ -170,7 +170,7 @@ int DwarfInstructions<A, R>::stepWithDwa
       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 !=




More information about the cfe-commits mailing list