[llvm] Correct .dynstr finding of getDynamicStrTab() (PR #127975)
Ruoyu Qiu via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 20 01:13:27 PST 2025
https://github.com/cabbaken created https://github.com/llvm/llvm-project/pull/127975
More info: https://github.com/llvm/llvm-project/pull/125679#discussion_r1961333454
>From 2da20cd62ae64936560cd14d980149534c51d0ce Mon Sep 17 00:00:00 2001
From: Ruoyu Qiu <cabbaken at outlook.com>
Date: Thu, 20 Feb 2025 09:10:01 +0000
Subject: [PATCH] Correct .dynstr finding of getDynamicStrTab()
More info: https://github.com/llvm/llvm-project/pull/125679#discussion_r1961333454
Signed-off-by: Ruoyu Qiu <cabbaken at outlook.com>
---
llvm/test/tools/llvm-objdump/ELF/private-headers.test | 1 +
llvm/tools/llvm-objdump/ELFDump.cpp | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/llvm/test/tools/llvm-objdump/ELF/private-headers.test b/llvm/test/tools/llvm-objdump/ELF/private-headers.test
index eefdc8440385c..c90cf59f4ed7d 100644
--- a/llvm/test/tools/llvm-objdump/ELF/private-headers.test
+++ b/llvm/test/tools/llvm-objdump/ELF/private-headers.test
@@ -30,6 +30,7 @@ Sections:
- Name: .dynamic
Type: SHT_DYNAMIC
Flags: [ SHF_ALLOC ]
+ Link: 1
Entries:
- Tag: DT_NEEDED
Value: 0x1
diff --git a/llvm/tools/llvm-objdump/ELFDump.cpp b/llvm/tools/llvm-objdump/ELFDump.cpp
index e9e5b059f1786..bce308c870ddf 100644
--- a/llvm/tools/llvm-objdump/ELFDump.cpp
+++ b/llvm/tools/llvm-objdump/ELFDump.cpp
@@ -78,8 +78,8 @@ static Expected<StringRef> getDynamicStrTab(const ELFFile<ELFT> &Elf) {
return SectionsOrError.takeError();
for (const typename ELFT::Shdr &Sec : *SectionsOrError) {
- if (Sec.sh_type == ELF::SHT_DYNSYM)
- return Elf.getStringTableForSymtab(Sec);
+ if (Sec.sh_type == ELF::SHT_DYNAMIC)
+ return Elf.getLinkAsStrtab(Sec);
}
return createError("dynamic string table not found");
More information about the llvm-commits
mailing list