aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/XCOFFObjectFile.cpp
diff options
context:
space:
mode:
authorChen Zheng <czhengsz@cn.ibm.com>2021-03-16 02:08:57 -0400
committerChen Zheng <czhengsz@cn.ibm.com>2021-03-17 21:21:51 -0400
commitd33b016ada5634940cccf67e70f918dcd4dfb78e (patch)
treebb8e5ea59b3b31583764e98682c627e57bc02c6b /llvm/lib/Object/XCOFFObjectFile.cpp
parent28963d895b529e90b8b99716516ae4e422592797 (diff)
downloadllvm-d33b016ada5634940cccf67e70f918dcd4dfb78e.zip
llvm-d33b016ada5634940cccf67e70f918dcd4dfb78e.tar.gz
llvm-d33b016ada5634940cccf67e70f918dcd4dfb78e.tar.bz2
[XCOFF][llvm-dwarfdump] llvm-dwarfdump support for XCOFF
Author: hubert.reinterpretcast, shchenz Reviewed By: jasonliu, echristo Differential Revision: https://reviews.llvm.org/D97186
Diffstat (limited to 'llvm/lib/Object/XCOFFObjectFile.cpp')
-rw-r--r--llvm/lib/Object/XCOFFObjectFile.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/llvm/lib/Object/XCOFFObjectFile.cpp b/llvm/lib/Object/XCOFFObjectFile.cpp
index a16a458..74b10fa 100644
--- a/llvm/lib/Object/XCOFFObjectFile.cpp
+++ b/llvm/lib/Object/XCOFFObjectFile.cpp
@@ -11,6 +11,7 @@
//===----------------------------------------------------------------------===//
#include "llvm/Object/XCOFFObjectFile.h"
+#include "llvm/ADT/StringSwitch.h"
#include "llvm/MC/SubtargetFeature.h"
#include "llvm/Support/DataExtractor.h"
#include <cstddef>
@@ -296,9 +297,7 @@ uint64_t XCOFFObjectFile::getSectionAlignment(DataRefImpl Sec) const {
}
bool XCOFFObjectFile::isSectionCompressed(DataRefImpl Sec) const {
- bool Result = false;
- llvm_unreachable("Not yet implemented!");
- return Result;
+ return false;
}
bool XCOFFObjectFile::isSectionText(DataRefImpl Sec) const {
@@ -458,6 +457,22 @@ Expected<uint64_t> XCOFFObjectFile::getStartAddress() const {
return 0;
}
+StringRef XCOFFObjectFile::mapDebugSectionName(StringRef Name) const {
+ return StringSwitch<StringRef>(Name)
+ .Case("dwinfo", "debug_info")
+ .Case("dwline", "debug_line")
+ .Case("dwpbnms", "debug_pubnames")
+ .Case("dwpbtyp", "debug_pubtypes")
+ .Case("dwarnge", "debug_aranges")
+ .Case("dwabrev", "debug_abbrev")
+ .Case("dwstr", "debug_str")
+ .Case("dwrnges", "debug_ranges")
+ .Case("dwloc", "debug_loc")
+ .Case("dwframe", "debug_frame")
+ .Case("dwmac", "debug_macinfo")
+ .Default(Name);
+}
+
size_t XCOFFObjectFile::getFileHeaderSize() const {
return is64Bit() ? sizeof(XCOFFFileHeader64) : sizeof(XCOFFFileHeader32);
}