aboutsummaryrefslogtreecommitdiff
path: root/linker/linker_soinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'linker/linker_soinfo.h')
-rw-r--r--linker/linker_soinfo.h14
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