diff options
author | George Rimar <grimar@accesssoftek.com> | 2019-09-05 14:02:58 +0000 |
---|---|---|
committer | George Rimar <grimar@accesssoftek.com> | 2019-09-05 14:02:58 +0000 |
commit | 4e14bf71b70b6c1e356b571611d143d8facda86b (patch) | |
tree | 7feb389a6115c64c3f38357e11753a40430e466c /lldb/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py | |
parent | b370e7691a680b06f3c159c6a19582adf449de90 (diff) | |
download | bcm5719-llvm-4e14bf71b70b6c1e356b571611d143d8facda86b.tar.gz bcm5719-llvm-4e14bf71b70b6c1e356b571611d143d8facda86b.zip |
[llvm-readelf] - Allow dumping dynamic symbols when there is no program headers.
D62179 introduced a regression. llvm-readelf lose the ability to dump the dynamic symbols
when there is .dynamic section with a DT_SYMTAB, but there are no program headers:
https://reviews.llvm.org/D62179#1652778
Below is a program flow before the D62179 change:
1) Find SHT_DYNSYM.
2) Find there is no PT_DYNAMIC => don't try to parse it.
3) Print dynamic symbols using information about them found on step (1).
And after the change it became:
1) Find SHT_DYNSYM.
2) Find there is no PT_DYNAMIC => find SHT_DYNAMIC.
3) Parse dynamic table, but fail to handle the DT_SYMTAB because of the absence of the PT_LOAD. Report the "Virtual address is not in any segment" error.
This patch fixes the issue. For doing this it checks that the value of DT_SYMTAB was
mapped to a segment. If not - it ignores it.
Differential revision: https://reviews.llvm.org/D67078
llvm-svn: 371071
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py')
0 files changed, 0 insertions, 0 deletions