ldso: make function get_program_var_addr global

This is needed later to lookup program symbols like ctors and dtors to
eliminate the need for a startup lib in dynamic programs.

Issue #1042
This commit is contained in:
Martin Stein 2014-02-05 14:49:07 +01:00 committed by Norman Feske
parent a100b37fdf
commit 6e2b7c2b92

View File

@ -124,7 +124,7 @@ static int relocate_objects(Obj_Entry *, bool, Obj_Entry *);
static int rtld_dirname(const char *, char *); static int rtld_dirname(const char *, char *);
static void rtld_exit(void); static void rtld_exit(void);
static char *search_library_path(const char *, const char *); static char *search_library_path(const char *, const char *);
static const void **get_program_var_addr(const char *); const void **get_program_var_addr(const char *);
static const Elf_Sym *symlook_default(const char *, unsigned long, static const Elf_Sym *symlook_default(const char *, unsigned long,
const Obj_Entry *, const Obj_Entry **, const Ver_Entry *, int); const Obj_Entry *, const Obj_Entry **, const Ver_Entry *, int);
static const Elf_Sym *symlook_list(const char *, unsigned long, const Objlist *, static const Elf_Sym *symlook_list(const char *, unsigned long, const Objlist *,
@ -2403,7 +2403,7 @@ r_debug_state(struct r_debug* rd, struct link_map *m)
/* /*
* Get address of the pointer variable in the main program. * Get address of the pointer variable in the main program.
*/ */
static const void ** const void **
get_program_var_addr(const char *name) get_program_var_addr(const char *name)
{ {
const Obj_Entry *obj; const Obj_Entry *obj;