diff options
author | Pavel Labath <pavel@labath.sk> | 2018-12-15 13:45:38 +0000 |
---|---|---|
committer | Pavel Labath <pavel@labath.sk> | 2018-12-15 13:45:38 +0000 |
commit | 62a8254f29d85f28b6bcdf69929986bcc775b9ce (patch) | |
tree | 73a61c9881cdc65a24531268cf08c87823092729 /lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h | |
parent | c8e364e80d148613b2430c19425aacf282153c64 (diff) | |
download | bcm5719-llvm-62a8254f29d85f28b6bcdf69929986bcc775b9ce.tar.gz bcm5719-llvm-62a8254f29d85f28b6bcdf69929986bcc775b9ce.zip |
ELF: more section creation cleanup
Summary:
This patch attempts to move as much code as possible out of the
CreateSections function to make room for future improvements there. Some
of this may be slightly over-engineered (VMAddressProvider), but I
wanted to keep the logic of this function very simple, because once I
start taking segment headers into acount (as discussed in D55356), the
function is going to grow significantly.
While in there, I also added tests for various bits of functionality.
This should be NFC, except that I changed the order of hac^H^Heuristicks
for determining section type slightly. Previously, name-based deduction
(.symtab -> symtab) would take precedence over type-based (SHT_SYMTAB ->
symtab) one. In fact we would assert if we ran into a .text section with
type SHT_SYMTAB. Though unlikely to matter in practice, this order
seemed wrong to me, so I have inverted it.
Reviewers: clayborg, krytarowski, espindola
Subscribers: emaste, arichardson, lldb-commits
Differential Revision: https://reviews.llvm.org/D55706
llvm-svn: 349268
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h')
-rw-r--r-- | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h index 03afc51f047..0ad4f429723 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h @@ -246,6 +246,8 @@ private: /// Returns the number of headers parsed. size_t ParseSectionHeaders(); + lldb::SectionType GetSectionType(const ELFSectionHeaderInfo &H) const; + static void ParseARMAttributes(lldb_private::DataExtractor &data, uint64_t length, lldb_private::ArchSpec &arch_spec); |