[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