diff options
author | Mike Frysinger <vapier@gentoo.org> | 2006-09-19 01:29:11 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2006-09-19 01:29:11 +0000 |
commit | 996be4d2f17f10979c591575dcff12e502c4a87e (patch) | |
tree | f864d9d937a62efa6625a22601e9e9e067a6e82a /ldso/ldso/ldso.c | |
parent | 7f9010b2d3df3716c67fc00a0f1ec3c5fd127311 (diff) |
merge some more FDPIC related fixes from Bernd Schmidt
Diffstat (limited to 'ldso/ldso/ldso.c')
-rw-r--r-- | ldso/ldso/ldso.c | 8 |
1 files changed, 4 insertions, 4 deletions
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); |