Fix unused DT entry warnings.
DT_STRSZ Implement strtab boundary checks
DT_FLAGS_1 Warn if flags other than DF_1_NOW|DF_1_GLOBAL are set
Bug: 17552334
Change-Id: Iaad29cd52f5b2d7d2f785fb351697906dc1617d9
diff --git a/linker/linker.h b/linker/linker.h
index 2896933..f6e3a48 100644
--- a/linker/linker.h
+++ b/linker/linker.h
@@ -136,7 +136,9 @@
soinfo* next;
unsigned flags;
+ private:
const char* strtab;
+ public:
ElfW(Sym)* symtab;
size_t nbucket;
@@ -222,7 +224,9 @@
ElfW(Addr) resolve_symbol_address(ElfW(Sym)* s);
- bool inline has_min_version(uint32_t min_version) {
+ const char* get_string(ElfW(Word) index) const;
+
+ bool inline has_min_version(uint32_t min_version) const {
return (flags & FLAG_NEW_SOINFO) != 0 && version >= min_version;
}
private:
@@ -249,6 +253,9 @@
// version >= 1
int rtld_flags;
+ size_t strtab_size;
+
+ friend soinfo* get_libdl_info();
};
extern soinfo* get_libdl_info();