[libcxxabi] r207170 - Properly sign extend delta in compact unwind info

Nick Kledzik kledzik at apple.com
Thu Apr 24 18:39:06 PDT 2014


Author: kledzik
Date: Thu Apr 24 20:39:06 2014
New Revision: 207170

URL: http://llvm.org/viewvc/llvm-project?rev=207170&view=rev
Log:
Properly sign extend delta in compact unwind info

Modified:
    libcxxabi/trunk/src/Unwind/UnwindCursor.hpp

Modified: libcxxabi/trunk/src/Unwind/UnwindCursor.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/Unwind/UnwindCursor.hpp?rev=207170&r1=207169&r2=207170&view=diff
==============================================================================
--- libcxxabi/trunk/src/Unwind/UnwindCursor.hpp (original)
+++ libcxxabi/trunk/src/Unwind/UnwindCursor.hpp Thu Apr 24 20:39:06 2014
@@ -879,8 +879,9 @@ bool UnwindCursor<A, R>::getInfoFromComp
                             sectionHeader.personalityArrayCount());
       return false;
     }
-    uint32_t personalityDelta = _addressSpace.get32(
-        sects.compact_unwind_section + sectionHeader.personalityArraySectionOffset() +
+    int32_t personalityDelta = (int32_t)_addressSpace.get32(
+        sects.compact_unwind_section +
+        sectionHeader.personalityArraySectionOffset() +
         personalityIndex * sizeof(uint32_t));
     pint_t personalityPointer = sects.dso_base + (pint_t)personalityDelta;
     personality = _addressSpace.getP(personalityPointer);





More information about the cfe-commits mailing list