diff options
Diffstat (limited to 'ldso/ldso/ld_hash.h')
-rw-r--r-- | ldso/ldso/ld_hash.h | 26 |
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 |