summaryrefslogtreecommitdiff
path: root/ldso/ldso/ld_hash.h
diff options
context:
space:
mode:
Diffstat (limited to 'ldso/ldso/ld_hash.h')
-rw-r--r--ldso/ldso/ld_hash.h26
1 files changed, 15 insertions, 11 deletions
diff --git a/ldso/ldso/ld_hash.h b/ldso/ldso/ld_hash.h
index 639ae4510..b19d680a2 100644
--- a/ldso/ldso/ld_hash.h
+++ b/ldso/ldso/ld_hash.h
@@ -43,6 +43,7 @@ struct dyn_elf{
struct elf_resolve * dyn;
struct dyn_elf * next_handle; /* Used by dlopen et al. */
struct dyn_elf * next;
+ struct dyn_elf * prev;
};
struct elf_resolve{
@@ -113,8 +114,11 @@ extern struct elf_resolve * _dl_check_hashed_files(char * libname);
extern struct elf_resolve * _dl_add_elf_hash_table(char * libname,
char * loadaddr, unsigned long * dynamic_info,
unsigned long dynamic_addr, unsigned long dynamic_size);
+
+enum caller_type{symbolrel=0,copyrel=1,resolver=2};
extern char * _dl_find_hash(char * name, struct dyn_elf * rpnt1,
- struct elf_resolve * f_tpnt, int copyrel);
+ struct elf_resolve * f_tpnt, enum caller_type);
+
extern int _dl_linux_dynamic_link(void);
extern char * _dl_library_path;
@@ -129,16 +133,16 @@ static inline int _dl_symbol(char * name)
}
-#define DL_ERROR_NOFILE 1
-#define DL_ERROR_NOZERO 2
-#define DL_ERROR_NOTELF 3
-#define DL_ERROR_NOTMAGIC 4
-#define DL_ERROR_NOTDYN 5
-#define DL_ERROR_MMAP_FAILED 6
-#define DL_ERROR_NODYNAMIC 7
-#define DL_WRONG_RELOCS 8
-#define DL_BAD_HANDLE 9
-#define DL_NO_SYMBOL 10
+#define LD_ERROR_NOFILE 1
+#define LD_ERROR_NOZERO 2
+#define LD_ERROR_NOTELF 3
+#define LD_ERROR_NOTMAGIC 4
+#define LD_ERROR_NOTDYN 5
+#define LD_ERROR_MMAP_FAILED 6
+#define LD_ERROR_NODYNAMIC 7
+#define LD_WRONG_RELOCS 8
+#define LD_BAD_HANDLE 9
+#define LD_NO_SYMBOL 10