diff options
author | Leonid Lisovskiy <lly.dev@gmail.com> | 2016-01-26 20:12:58 +0300 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-01-31 17:41:21 +0100 |
commit | 2f389d46df6a9634589554708e2a7ea6ca901b86 (patch) | |
tree | cadff935def6f64bb936a2f2866d737d0f567456 /ldso/include | |
parent | d6d36639c6a5dffbcdb77e947aafd1e858bbb714 (diff) |
ldso: Use single rtld_flags interpretation through all the calls
Implement single rtld_flags interpretation through all the
do_dlopen()/_dl_load_shared_library()/_dl_load_elf_shared_library()
calls chain.
This adds the ability to use the flags, passed to dlopen(), in all
underlaying functions and implement rtld_flags inheritance.
Saves a few bytes code.
Signed-off-by: Leonid Lisovskiy <lly.dev@gmail.com>
Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
Diffstat (limited to 'ldso/include')
-rw-r--r-- | ldso/include/dl-elf.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/ldso/include/dl-elf.h b/ldso/include/dl-elf.h index 4cc9b2b29..57f0ddc15 100644 --- a/ldso/include/dl-elf.h +++ b/ldso/include/dl-elf.h @@ -29,18 +29,15 @@ static __inline__ void _dl_map_cache(void) { } static __inline__ void _dl_unmap_cache(void) { } #endif -#define DL_RESOLVE_SECURE 0x0001 -#define DL_RESOLVE_NOLOAD 0x0002 - /* Function prototypes for non-static stuff in elfinterp.c */ extern void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt, unsigned long rel_addr, unsigned long rel_size); extern int _dl_parse_relocation_information(struct dyn_elf *rpnt, struct r_scope_elem *scope, unsigned long rel_addr, unsigned long rel_size); -extern struct elf_resolve * _dl_load_shared_library(unsigned rflags, +extern struct elf_resolve * _dl_load_shared_library(unsigned int rflags, struct dyn_elf **rpnt, struct elf_resolve *tpnt, char *full_libname, int trace_loaded_objects); -extern struct elf_resolve * _dl_load_elf_shared_library(unsigned rflags, +extern struct elf_resolve * _dl_load_elf_shared_library(unsigned int rflags, struct dyn_elf **rpnt, const char *libname); extern int _dl_linux_resolve(void); extern int _dl_fixup(struct dyn_elf *rpnt, struct r_scope_elem *scope, int flag); |