summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/ELFDumper.cpp
diff options
context:
space:
mode:
authorPetr Hosek <phosek@chromium.org>2019-08-16 23:15:40 +0000
committerPetr Hosek <phosek@chromium.org>2019-08-16 23:15:40 +0000
commit7da81b5e4d2b9cb389cff28c1cc144abcf986f66 (patch)
tree60629abde72c19578e719ed9d2b2f77fbf431e50 /llvm/tools/llvm-readobj/ELFDumper.cpp
parentacceedb15f52108d0e36d8090cb25fcdf34a4fc1 (diff)
downloadbcm5719-llvm-7da81b5e4d2b9cb389cff28c1cc144abcf986f66.tar.gz
bcm5719-llvm-7da81b5e4d2b9cb389cff28c1cc144abcf986f66.zip
[llvm-readobj] Fallback to PT_NOTE if file doesn't have sections
This is useful when trying to read notes from stripped files and matches the behavior of GNU readelf and eu-readelf. Differential Revision: https://reviews.llvm.org/D66358 llvm-svn: 369169
Diffstat (limited to 'llvm/tools/llvm-readobj/ELFDumper.cpp')
-rw-r--r--llvm/tools/llvm-readobj/ELFDumper.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
index 08e511a00c4..1e24504afd4 100644
--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -4502,7 +4502,7 @@ void GNUStyle<ELFT>::printNotes(const ELFFile<ELFT> *Obj) {
}
};
- if (Obj->getHeader()->e_type == ELF::ET_CORE) {
+ if (Obj->getHeader()->e_type == ELF::ET_CORE || Obj->sections()->empty()) {
for (const auto &P :
unwrapOrError(this->FileName, Obj->program_headers())) {
if (P.p_type != PT_NOTE)
@@ -5703,7 +5703,7 @@ void LLVMStyle<ELFT>::printNotes(const ELFFile<ELFT> *Obj) {
}
};
- if (Obj->getHeader()->e_type == ELF::ET_CORE) {
+ if (Obj->getHeader()->e_type == ELF::ET_CORE || Obj->sections()->empty()) {
for (const auto &P :
unwrapOrError(this->FileName, Obj->program_headers())) {
if (P.p_type != PT_NOTE)
OpenPOWER on IntegriCloud