[llvm] r201030 - tools: handle out-of-line personality 0 decoding

Saleem Abdulrasool compnerd at compnerd.org
Sat Feb 8 15:17:08 PST 2014


Author: compnerd
Date: Sat Feb  8 17:17:08 2014
New Revision: 201030

URL: http://llvm.org/viewvc/llvm-project?rev=201030&view=rev
Log:
tools: handle out-of-line personality 0 decoding

In some cases it is possible to have a personality 0 unwinding opcodes in the
extab (such as when .handlerdata is used in the assembly).  Simply decode the 3
opcodes for that case.

Modified:
    llvm/trunk/tools/llvm-readobj/ARMEHABIPrinter.h

Modified: llvm/trunk/tools/llvm-readobj/ARMEHABIPrinter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-readobj/ARMEHABIPrinter.h?rev=201030&r1=201029&r2=201030&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-readobj/ARMEHABIPrinter.h (original)
+++ llvm/trunk/tools/llvm-readobj/ARMEHABIPrinter.h Sat Feb  8 17:17:08 2014
@@ -435,7 +435,7 @@ void PrinterContext<ET>::PrintExceptionT
 
     switch (PersonalityIndex) {
     case AEABI_UNWIND_CPP_PR0:
-      llvm_unreachable("Personality 0 should be compact inline!");
+      PrintOpcodes(Contents->data() + TableEntryOffset, 3, 1);
       break;
     case AEABI_UNWIND_CPP_PR1:
     case AEABI_UNWIND_CPP_PR2:





More information about the llvm-commits mailing list