diff options
author | Chen Zheng <czhengsz@cn.ibm.com> | 2021-03-16 02:08:57 -0400 |
---|---|---|
committer | Chen Zheng <czhengsz@cn.ibm.com> | 2021-03-17 21:21:51 -0400 |
commit | d33b016ada5634940cccf67e70f918dcd4dfb78e (patch) | |
tree | bb8e5ea59b3b31583764e98682c627e57bc02c6b /llvm/lib/Object/XCOFFObjectFile.cpp | |
parent | 28963d895b529e90b8b99716516ae4e422592797 (diff) | |
download | llvm-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.cpp | 21 |
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); } |