[LLVMdev] [llvm] [libunwind] r207467 misprint

Daniil Troshkov troshkovdanil at gmail.com
Tue Jul 14 04:45:17 PDT 2015


Hi Nick!

In r207467 you added code(libunwind: DwarfInstructions.hpp):

      assert(lastReg <= (int)cieInfo.returnAddressRegister
                 && "register range does not contain return address
register");
      for (int i = 0; i <= lastReg; ++i) {
.....
          else if (i == (int)cieInfo.returnAddressRegister)

There is misprint here: lastReg should be >=
(int)cieInfo.returnAddressRegister in assert.

So patch is:

Index: DwarfInstructions.hpp
===================================================================
--- DwarfInstructions.hpp (revision 242137)
+++ DwarfInstructions.hpp (working copy)
@@ -170,7 +170,7 @@
       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 !=
If you agree, can you please commit it, because I have no commit access.

Thank you!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150714/434958f7/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DwarfInstructions.hpp.patch
Type: application/octet-stream
Size: 659 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150714/434958f7/attachment.obj>


More information about the llvm-dev mailing list