diff options
author | Sam Elliott <aelliott@qti.qualcomm.com> | 2025-08-07 11:28:07 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-07 11:28:07 -0700 |
commit | 4e11f89904dc9b77ef44b01c68742e5b00bfdf21 (patch) | |
tree | a9999c374a205c55b567290d2d35a1ee5ea6e44a /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | 1e2e903684719a0bdf559af261ffff9f551f4ebb (diff) | |
download | llvm-4e11f89904dc9b77ef44b01c68742e5b00bfdf21.zip llvm-4e11f89904dc9b77ef44b01c68742e5b00bfdf21.tar.gz llvm-4e11f89904dc9b77ef44b01c68742e5b00bfdf21.tar.bz2 |
[RISCV] Basic Objdump Mapping Symbol Support (#151452)
This implements very basic support for RISC-V mapping symbols in
llvm-objdump, sharing the implementation with how Arm/AArch64/CSKY
implement this feature.
This only supports the `$x` (instruction) and `$d` (data) mapping
symbols for RISC-V, and not the version of `$x` which includes an
architecture string suffix.
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index c19c698..815759d 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -636,8 +636,14 @@ static bool isCSKYElf(const ObjectFile &Obj) { return Elf && Elf->getEMachine() == ELF::EM_CSKY; } +static bool isRISCVElf(const ObjectFile &Obj) { + const auto *Elf = dyn_cast<ELFObjectFileBase>(&Obj); + return Elf && Elf->getEMachine() == ELF::EM_RISCV; +} + static bool hasMappingSymbols(const ObjectFile &Obj) { - return isArmElf(Obj) || isAArch64Elf(Obj) || isCSKYElf(Obj); + return isArmElf(Obj) || isAArch64Elf(Obj) || isCSKYElf(Obj) || + isRISCVElf(Obj); } static void printRelocation(formatted_raw_ostream &OS, StringRef FileName, |