summaryrefslogtreecommitdiff
path: root/lib/MC/MCObjectFileInfo.cpp
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2014-05-13 17:58:13 +0000
committerJoerg Sonnenberger <joerg@bec.de>2014-05-13 17:58:13 +0000
commitebfe1f0371a074c771d0fedf9167977bfe6f72e8 (patch)
tree3a3c5ba1003a7ab0c12339ec62d68fa0f5b761bd /lib/MC/MCObjectFileInfo.cpp
parentad5d56c16825b96f7e3e6a206d1ac55de744bfe3 (diff)
downloadllvm-ebfe1f0371a074c771d0fedf9167977bfe6f72e8.tar.gz
llvm-ebfe1f0371a074c771d0fedf9167977bfe6f72e8.tar.bz2
llvm-ebfe1f0371a074c771d0fedf9167977bfe6f72e8.tar.xz
Check explicitly for EHABI and just use the default settings.
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
Diffstat (limited to 'lib/MC/MCObjectFileInfo.cpp')
-rw-r--r--lib/MC/MCObjectFileInfo.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/MC/MCObjectFileInfo.cpp b/lib/MC/MCObjectFileInfo.cpp
index 3513f4ac3d..4b01200388 100644
--- a/lib/MC/MCObjectFileInfo.cpp
+++ b/lib/MC/MCObjectFileInfo.cpp
@@ -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