[PATCH] D62179: [llvm-readelf] - Allow dumping of the .dynamic section even if there is no PT_DYNAMIC header.
Jan Kratochvil via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 30 09:20:02 PDT 2019
jankratochvil added subscribers: kwk, jankratochvil.
jankratochvil added a comment.
Herald added a subscriber: seiya.
There is a regression - after this patch - at least after its later commit:
commit 8ac7b2d07bd6042afe0e8618ca8682d7663f4be8
Author: George Rimar <grimar at accesssoftek.com>
Date: Wed May 29 10:31:46 2019 +0000
[llvm-readelf] - Allow dumping of the .dynamic section even if there is no PT_DYNAMIC header.
Differential revision: https://reviews.llvm.org/D62179
llvm-svn: 361943
llvm-readobj cannot print `.dynsym` of executable without Program Headers. GNU `readelf` can print it fine. We have found it with @kwk because of some unrelated bug in `obj2yaml`/`yaml2obj' dropping Program Headers.
On 64-bit Linux one can create a test binary with:
cp -p /bin/bash /tmp/bashtest;dd if=/dev/zero of=/tmp/bashtest bs=1 count=2 seek=$[0x38] conv=notrunc
`llvm-readobj -dyn-symbols` formerly printed for example:
Symbol {
Name: tilde_expand_word (11424)
Value: 0xDBE60
while now it prints only:
warning: Unable to parse DT_GNU_HASH: Virtual address is not in any segment
warning: Unable to parse DT_STRTAB: Virtual address is not in any segment
warning: Unable to parse DT_SYMTAB: Virtual address is not in any segment
warning: Unable to parse DT_JMPREL: Virtual address is not in any segment
warning: Unable to parse DT_RELA: Virtual address is not in any segment
File: /tmp/bashtest
Format: ELF64-x86-64
Arch: x86_64
AddressSize: 64bit
LoadName:
DynamicSymbols [
]
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62179/new/
https://reviews.llvm.org/D62179
More information about the llvm-commits
mailing list