From 996be4d2f17f10979c591575dcff12e502c4a87e Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 19 Sep 2006 01:29:11 +0000 Subject: merge some more FDPIC related fixes from Bernd Schmidt --- ldso/ldso/ldso.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'ldso/ldso/ldso.c') diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c index d5b87d5eb..f8f3dc67c 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c @@ -113,7 +113,7 @@ static void _dl_run_array_forward(unsigned long array, unsigned long size, for (j = 0; j < jm; ++j) { void (*dl_elf_func) (void); dl_elf_func = (void (*)(void)) (intptr_t) addrs[j]; - (*dl_elf_func) (); + DL_CALL_FUNC_AT_ADDR (dl_elf_func, loadaddr, (void (*)(void))); } } } @@ -141,7 +141,7 @@ void _dl_run_fini_array(struct elf_resolve *tpnt) while (i-- > 0) { void (*dl_elf_func) (void); dl_elf_func = (void (*)(void)) (intptr_t) array[i]; - (*dl_elf_func) (); + DL_CALL_FUNC_AT_ADDR (dl_elf_func, tpnt->loadaddr, (void (*)(void))); } } } @@ -168,7 +168,7 @@ static void __attribute__ ((destructor)) __attribute_used__ _dl_fini(void) dl_elf_func = (void (*)(void)) (intptr_t) DL_RELOC_ADDR(tpnt->loadaddr, tpnt->dynamic_info[DT_FINI]); _dl_if_debug_dprint("\ncalling FINI: %s\n\n", tpnt->libname); - (*dl_elf_func) (); + DL_CALL_FUNC_AT_ADDR (dl_elf_func, tpnt->loadaddr, (void(*)(void))); } } } @@ -852,7 +852,7 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr, _dl_if_debug_dprint("calling INIT: %s\n\n", tpnt->libname); - (*dl_elf_func) (); + DL_CALL_FUNC_AT_ADDR (dl_elf_func, tpnt->loadaddr, (void(*)(void))); } _dl_run_init_array(tpnt); -- cgit v1.2.3