tools: handle out-of-line personality 0 decoding
authorSaleem Abdulrasool <compnerd@compnerd.org>
Sat, 8 Feb 2014 23:17:08 +0000 (23:17 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Sat, 8 Feb 2014 23:17:08 +0000 (23:17 +0000)
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.

llvm-svn: 201030

llvm/tools/llvm-readobj/ARMEHABIPrinter.h

index fae3b6d..6f0797b 100644 (file)
@@ -435,7 +435,7 @@ void PrinterContext<ET>::PrintExceptionTable(const Elf_Shdr *IT,
 
     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: