Revert "Fix symbol lookup order during relocation"
This reverts commit 976402cca13a1f4f3aa988fd301575e134ef5f2c.
Bug: 18222321
Bug: 18211780
Change-Id: Iafdd3d843db7b1cf288be9a0232022816622c944
diff --git a/linker/linker.h b/linker/linker.h
index 0a98b40..222aca1 100644
--- a/linker/linker.h
+++ b/linker/linker.h
@@ -89,9 +89,7 @@
#define FLAG_LINKER 0x00000010 // The linker itself
#define FLAG_NEW_SOINFO 0x40000000 // new soinfo format
-#define SUPPORTED_DT_FLAGS_1 (DF_1_NOW | DF_1_GLOBAL | DF_1_NODELETE)
-
-#define SOINFO_VERSION 1
+#define SOINFO_VERSION 0
#define SOINFO_NAME_LEN 128
@@ -209,18 +207,16 @@
void CallDestructors();
void CallPreInitConstructors();
bool PrelinkImage();
- bool LinkImage(const soinfo_list_t& global_group, const soinfo_list_t& local_group, const android_dlextinfo* extinfo);
+ bool LinkImage(const soinfo_list_t& local_group, const android_dlextinfo* extinfo);
void add_child(soinfo* child);
void remove_all_links();
- ino_t get_st_ino() const;
- dev_t get_st_dev() const;
- off64_t get_file_offset() const;
+ ino_t get_st_ino();
+ dev_t get_st_dev();
+ off64_t get_file_offset();
- uint32_t get_rtld_flags() const;
- uint32_t get_dt_flags_1() const;
- void set_dt_flags_1(uint32_t dt_flags_1);
+ int get_rtld_flags();
soinfo_list_t& get_children();
soinfo_list_t& get_parents();
@@ -238,9 +234,9 @@
void CallArray(const char* array_name, linker_function_t* functions, size_t count, bool reverse);
void CallFunction(const char* function_name, linker_function_t function);
#if defined(USE_RELA)
- int Relocate(ElfW(Rela)* rela, unsigned count, const soinfo_list_t& global_group, const soinfo_list_t& local_group);
+ int Relocate(ElfW(Rela)* rela, unsigned count, const soinfo_list_t& local_group);
#else
- int Relocate(ElfW(Rel)* rel, unsigned count, const soinfo_list_t& global_group, const soinfo_list_t& local_group);
+ int Relocate(ElfW(Rel)* rel, unsigned count, const soinfo_list_t& local_group);
#endif
private:
@@ -258,8 +254,7 @@
// version >= 1
off64_t file_offset;
- uint32_t rtld_flags;
- uint32_t dt_flags_1;
+ int rtld_flags;
size_t strtab_size;
friend soinfo* get_libdl_info();