[PATCH] Fix Android MIPS exception personality encoding.

Joerg Sonnenberger joerg at NetBSD.org
Sat May 24 10:29:57 PDT 2014


================
Comment at: lib/CodeGen/AsmPrinter/DwarfCFIException.cpp:63
@@ -63,1 +62,3 @@
+  if ((PerEncoding & 0x70) != dwarf::DW_EH_PE_pcrel &&
+      (PerEncoding & 0x80) != dwarf::DW_EH_PE_indirect)
     return;
----------------
Don't we just want to check DW_EH_PE_indirect here? Non-indirect references would have already been in place.

================
Comment at: lib/CodeGen/TargetLoweringObjectFileImpl.cpp:52
@@ -57,1 +51,3 @@
+  if ((Encoding & 0x70) == dwarf::DW_EH_PE_pcrel ||
+      (Encoding & 0x80) == dwarf::DW_EH_PE_indirect)
     return getContext().GetOrCreateSymbol(StringRef("DW.ref.") +
----------------
Same here.

================
Comment at: lib/MC/MCObjectFileInfo.cpp:327
@@ +326,3 @@
+    // for relocation.
+    PersonalityEncoding = dwarf::DW_EH_PE_indirect | dwarf::DW_EH_PE_absptr;
+    break;
----------------
Just plain DW_EH_PE_indirect, I think. The absptr is implicit.

http://reviews.llvm.org/D3828






More information about the llvm-commits mailing list