Check explicitly for EHABI and just use the default settings.
authorJoerg Sonnenberger <joerg@bec.de>
Tue, 13 May 2014 17:58:13 +0000 (17:58 +0000)
committerJoerg Sonnenberger <joerg@bec.de>
Tue, 13 May 2014 17:58:13 +0000 (17:58 +0000)
Code depends on the assembler and linker to fix things up...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208715 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCObjectFileInfo.cpp

index 3513f4ac3d8cf9ca4bbb09d3c9483daba886b9f8..4b012003881eecb8ae340b220ffba0f75ab50c24 100644 (file)
@@ -10,6 +10,7 @@
 #include "llvm/MC/MCObjectFileInfo.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/Triple.h"
+#include "llvm/MC/MCAsmInfo.h"
 #include "llvm/MC/MCContext.h"
 #include "llvm/MC/MCSection.h"
 #include "llvm/MC/MCSectionCOFF.h"
@@ -264,6 +265,9 @@ void MCObjectFileInfo::InitELFMCObjectFileInfo(Triple T) {
   case Triple::armeb:
   case Triple::thumb:
   case Triple::thumbeb:
+    if (Ctx->getAsmInfo()->getExceptionHandlingType() == ExceptionHandling::ARM)
+      break;
+    // Fallthrough if not using EHABI
   case Triple::x86:
     PersonalityEncoding = (RelocM == Reloc::PIC_)
      ? dwarf::DW_EH_PE_indirect | dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4