From 86eecc5c4007ef59b51911dcff41b77a393f45e1 Mon Sep 17 00:00:00 2001 From: Joakim Tjernlund Date: Thu, 19 Aug 2004 09:06:15 +0000 Subject: Move "debug_addr" ptr from dl-startup.c to ldso.c --- ldso/ldso/ldso.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'ldso/ldso/ldso.c') diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c index 730d40da6..ce15d0e2b 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -85,7 +85,7 @@ static void debug_fini (int status, void *arg) #endif void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr, - Elf32_auxv_t auxvt[AT_EGID + 1], char **envp, struct r_debug *debug_addr, + Elf32_auxv_t auxvt[AT_EGID + 1], char **envp, unsigned char *malloc_buffer, unsigned char *mmap_zero, char **argv) { ElfW(Phdr) *ppnt; @@ -97,6 +97,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr, struct elf_resolve *tpnt1; struct elf_resolve app_tpnt_tmp; struct elf_resolve *app_tpnt = &app_tpnt_tmp; + struct r_debug *debug_addr; unsigned long brk_addr, *lpnt; int (*_dl_atexit) (void *); #if defined (__SUPPORT_LD_DEBUG__) @@ -173,7 +174,11 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, unsigned long load_addr, } #endif } - + /* + * This is used by gdb to locate the chain of shared libraries that are currently loaded. + */ + debug_addr = _dl_malloc(sizeof(struct r_debug)); + _dl_memset(debug_addr, 0, sizeof(struct r_debug)); ppnt = (ElfW(Phdr) *) auxvt[AT_PHDR].a_un.a_ptr; for (i = 0; i < auxvt[AT_PHNUM].a_un.a_val; i++, ppnt++) { -- cgit v1.2.3