diff options
Diffstat (limited to 'linker/linker_soinfo.h')
-rw-r--r-- | linker/linker_soinfo.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/linker/linker_soinfo.h b/linker/linker_soinfo.h index e1a3c303d..9c589d608 100644 --- a/linker/linker_soinfo.h +++ b/linker/linker_soinfo.h @@ -66,7 +66,7 @@ #define FLAG_PRELINKED 0x00000400 // prelink_image has successfully processed this soinfo #define FLAG_NEW_SOINFO 0x40000000 // new soinfo format -#define SOINFO_VERSION 5 +#define SOINFO_VERSION 6 ElfW(Addr) call_ifunc_resolver(ElfW(Addr) resolver_addr); @@ -345,6 +345,12 @@ struct soinfo { SymbolLookupLib get_lookup_lib(); + void set_gap_start(ElfW(Addr) gap_start); + ElfW(Addr) get_gap_start() const; + + void set_gap_size(size_t gap_size); + size_t get_gap_size() const; + private: bool is_image_linked() const; void set_image_linked(); @@ -395,7 +401,7 @@ struct soinfo { uint8_t* android_relocs_; size_t android_relocs_size_; - const char* soname_; + std::string soname_; std::string realpath_; const ElfW(Versym)* versym_; @@ -423,6 +429,10 @@ struct soinfo { // version >= 5 std::unique_ptr<soinfo_tls> tls_; std::vector<TlsDynamicResolverArg> tlsdesc_args_; + + // version >= 6 + ElfW(Addr) gap_start_; + size_t gap_size_; }; // This function is used by dlvsym() to calculate hash of sym_ver |