diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2011-03-05 18:43:15 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2011-03-05 18:43:15 +0000 |
commit | b5e16af9ea04cc1f94ca631104e5e6be96546aa1 (patch) | |
tree | aada927415ed0b4de591d5274e65f9aefa070a2f /lib/Target | |
parent | 6dd97471c43805b3febf598d50498a09a02e93f4 (diff) | |
download | llvm-b5e16af9ea04cc1f94ca631104e5e6be96546aa1.tar.gz llvm-b5e16af9ea04cc1f94ca631104e5e6be96546aa1.tar.bz2 llvm-b5e16af9ea04cc1f94ca631104e5e6be96546aa1.tar.xz |
Some first rudimentary support for ARM EHABI: print exception table in "text mode".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127099 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/ARM/ARMMCAsmInfo.cpp | 12 | ||||
-rw-r--r-- | lib/Target/ARM/ARMTargetObjectFile.cpp | 3 |
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMMCAsmInfo.cpp b/lib/Target/ARM/ARMMCAsmInfo.cpp index 53edfcad93..9ce9a452d1 100644 --- a/lib/Target/ARM/ARMMCAsmInfo.cpp +++ b/lib/Target/ARM/ARMMCAsmInfo.cpp @@ -12,8 +12,16 @@ //===----------------------------------------------------------------------===// #include "ARMMCAsmInfo.h" +#include "llvm/Support/CommandLine.h" + using namespace llvm; +static cl::opt<bool> +EnableARMEHABI("arm-enable-ehabi", cl::Hidden, + cl::desc("Generate ARM EHABI tables"), + cl::init(false)); + + static const char *const arm_asm_table[] = { "{r0}", "r0", "{r1}", "r1", @@ -65,4 +73,8 @@ ARMELFMCAsmInfo::ARMELFMCAsmInfo() { DwarfRequiresFrameSection = false; SupportsDebugInformation = true; + + // Exceptions handling + if (EnableARMEHABI) + ExceptionsType = ExceptionHandling::ARM; } diff --git a/lib/Target/ARM/ARMTargetObjectFile.cpp b/lib/Target/ARM/ARMTargetObjectFile.cpp index 7535da54a9..19defa1b51 100644 --- a/lib/Target/ARM/ARMTargetObjectFile.cpp +++ b/lib/Target/ARM/ARMTargetObjectFile.cpp @@ -36,8 +36,9 @@ void ARMElfTargetObjectFile::Initialize(MCContext &Ctx, ELF::SHF_WRITE | ELF::SHF_ALLOC, SectionKind::getDataRel()); + LSDASection = NULL; } - + AttributesSection = getContext().getELFSection(".ARM.attributes", ELF::SHT_ARM_ATTRIBUTES, |