aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
diff options
context:
space:
mode:
authorTamas Berghammer <tberghammer@google.com>2015-09-30 13:50:14 +0000
committerTamas Berghammer <tberghammer@google.com>2015-09-30 13:50:14 +0000
commit648f3c7efa0e7d760a668686066adb4e2a91ca6d (patch)
treec310c8f4f3d7142da83f5b2ca42783b4b5f94b55 /lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
parente6e082348d5125cbf7a0027d208f28d9f12f2832 (diff)
downloadllvm-648f3c7efa0e7d760a668686066adb4e2a91ca6d.zip
llvm-648f3c7efa0e7d760a668686066adb4e2a91ca6d.tar.gz
llvm-648f3c7efa0e7d760a668686066adb4e2a91ca6d.tar.bz2
Add support for .ARM.exidx unwind information
.ARM.exidx/.ARM.extab sections contain unwind information used on ARM architecture from unwinding from an exception. Differential revision: http://reviews.llvm.org/D13245 llvm-svn: 248903
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp')
-rw-r--r--lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
index cb8bd64..f9f0358 100644
--- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
+++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
@@ -1720,6 +1720,8 @@ ObjectFileELF::CreateSections(SectionList &unified_section_list)
static ConstString g_sect_name_dwarf_debug_str_dwo (".debug_str.dwo");
static ConstString g_sect_name_dwarf_debug_str_offsets_dwo (".debug_str_offsets.dwo");
static ConstString g_sect_name_eh_frame (".eh_frame");
+ static ConstString g_sect_name_arm_exidx (".ARM.exidx");
+ static ConstString g_sect_name_arm_extab (".ARM.extab");
static ConstString g_sect_name_go_symtab (".gosymtab");
SectionType sect_type = eSectionTypeOther;
@@ -1773,6 +1775,8 @@ ObjectFileELF::CreateSections(SectionList &unified_section_list)
else if (name == g_sect_name_dwarf_debug_str_dwo) sect_type = eSectionTypeDWARFDebugStr;
else if (name == g_sect_name_dwarf_debug_str_offsets_dwo) sect_type = eSectionTypeDWARFDebugStrOffsets;
else if (name == g_sect_name_eh_frame) sect_type = eSectionTypeEHFrame;
+ else if (name == g_sect_name_arm_exidx) sect_type = eSectionTypeARMexidx;
+ else if (name == g_sect_name_arm_extab) sect_type = eSectionTypeARMextab;
else if (name == g_sect_name_go_symtab) sect_type = eSectionTypeGoSymtab;
switch (header.sh_type)