diff options
author | Ronak Chauhan <RonakNilesh.Chauhan@amd.com> | 2020-09-09 18:01:28 +0530 |
---|---|---|
committer | Ronak Chauhan <RonakNilesh.Chauhan@amd.com> | 2020-09-09 18:01:28 +0530 |
commit | f078577f31cc96b6e8a064f628f81a376f21e2e2 (patch) | |
tree | 47bd5a77b99d0132b6521b6f5a9fe7e04005bee2 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | d816499f95d673bbad297d0231cbeaf5efbbc5de (diff) | |
download | llvm-f078577f31cc96b6e8a064f628f81a376f21e2e2.zip llvm-f078577f31cc96b6e8a064f628f81a376f21e2e2.tar.gz llvm-f078577f31cc96b6e8a064f628f81a376f21e2e2.tar.bz2 |
Revert "[AMDGPU] Support disassembly for AMDGPU kernel descriptors"
This reverts commit 487a80531006add8102d50dbcce4b6fd729ab1f6.
Tests fail on big endian machines.
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index 46ed741..b63d08b 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -1854,6 +1854,23 @@ static void disassembleObject(const Target *TheTarget, const ObjectFile *Obj, outs() << SectionName << ":\n"; } + if (Obj->isELF() && Obj->getArch() == Triple::amdgcn) { + if (Symbols[SI].Type == ELF::STT_AMDGPU_HSA_KERNEL) { + // skip amd_kernel_code_t at the begining of kernel symbol (256 bytes) + Start += 256; + } + if (SI == SE - 1 || + Symbols[SI + 1].Type == ELF::STT_AMDGPU_HSA_KERNEL) { + // cut trailing zeroes at the end of kernel + // cut up to 256 bytes + const uint64_t EndAlign = 256; + const auto Limit = End - (std::min)(EndAlign, End - Start); + while (End > Limit && + *reinterpret_cast<const support::ulittle32_t*>(&Bytes[End - 4]) == 0) + End -= 4; + } + } + outs() << '\n'; if (!NoLeadingAddr) outs() << format(Is64Bits ? "%016" PRIx64 " " : "%08" PRIx64 " ", |