summaryrefslogtreecommitdiff
path: root/lldb/test/Shell/ScriptInterpreter/Python/python.test
diff options
context:
space:
mode:
authorGeorgii Rymar <grimar@accesssoftek.com>2020-09-05 19:13:50 +0300
committerGeorgii Rymar <grimar@accesssoftek.com>2020-09-15 11:57:00 +0300
commitbccd2ec3e216fed04c46df7077462165435703a1 (patch)
tree4cbd800de4f04d32df12c44dca1109aaa2a9545b /lldb/test/Shell/ScriptInterpreter/Python/python.test
parent58938b544b728ccf90462a7e4854e8a533eb9296 (diff)
[llvm-readobj/elf] - Simplify and refine the implementation which dumps .stack_sizes
Our implementation of stack sizes section dumping heavily uses `ELFObjectFile<ELFT>`, while the rest of the code uses `ELFFile<ELFT>`. That APIs are very different. `ELFObjectFile<ELFT>` is very generic and has `SectionRef`, `RelocationRef`, `SymbolRef` and other generic concepts. The `ELFFile<ELFT>` class works directly with `Elf_Shdr`, `Elf_Rel[a]`, `Elf_Sym` etc, what is probably much cleaner for ELF dumper. Also, `ELFObjectFile<ELFT>` API does not always provide a way to check for possible errors. E.g. the implementation of `symbol_end()` does not verify the `sh_size`: ``` template <class ELFT> basic_symbol_iterator ELFObjectFile<ELFT>::symbol_end() const { const Elf_Shdr *SymTab = DotSymtabSec; if (!SymTab) return symbol_begin(); DataRefImpl Sym = toDRI(SymTab, SymTab->sh_size / sizeof(Elf_Sym)); return basic_symbol_iterator(SymbolRef(Sym, this)); } ``` There are many other examples which makes me thing we might win from switching to `ELFFile<ELFT>` API, where we heavily validate an input data already. This patch is the first step in this direction. I've converted the large portion of the code to use `ELFFile<ELFT>`. Differential revision: https://reviews.llvm.org/D87362
Diffstat (limited to 'lldb/test/Shell/ScriptInterpreter/Python/python.test')
0 files changed, 0 insertions, 0 deletions