diff options
author | Zi Xuan Wu <zixuan.wu@linux.alibaba.com> | 2022-03-18 15:40:14 +0800 |
---|---|---|
committer | Zi Xuan Wu <zixuan.wu@linux.alibaba.com> | 2022-03-24 14:14:04 +0800 |
commit | 582836faafcb458161947a72df27752fe5f76171 (patch) | |
tree | 4d77474ac11e3006f9ad6458617d4c85561a8e14 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | b8388fa319bc68bee396a14857331fb2e7b815bd (diff) | |
download | llvm-582836faafcb458161947a72df27752fe5f76171.zip llvm-582836faafcb458161947a72df27752fe5f76171.tar.gz llvm-582836faafcb458161947a72df27752fe5f76171.tar.bz2 |
[CSKY] Enhance asm parser and relocation fixup for some special symbol address instruction
Add processing of parsing and emiting lrw/jsri/jmpi instruction, including related fixup and relocation.
Add relax support about pseudo instructions such as jbr/jbsr.
Add objdump format support like arm in llvm-objdump.
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index c8c5126..a9ce463 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -441,8 +441,13 @@ static bool isArmElf(const ObjectFile *Obj) { return Elf && Elf->getEMachine() == ELF::EM_ARM; } +static bool isCSKYElf(const ObjectFile *Obj) { + const auto *Elf = dyn_cast<ELFObjectFileBase>(Obj); + return Elf && Elf->getEMachine() == ELF::EM_CSKY; +} + static bool hasMappingSymbols(const ObjectFile *Obj) { - return isArmElf(Obj) || isAArch64Elf(Obj); + return isArmElf(Obj) || isAArch64Elf(Obj) || isCSKYElf(Obj) ; } static void printRelocation(formatted_raw_ostream &OS, StringRef FileName, |