From 40306912c9451bdebb5850c97c4d6bf25bfc83cb Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 16 Nov 2000 18:15:26 +0000 Subject: Update. 2000-11-15 H.J. Lu * sysdeps/generic/ldsodefs.h (DL_DT_INIT_ADDRESS): Defined if ELF_FUNCTION_PTR_IS_SPECIAL is not defined. (DL_DT_FINI_ADDRESS): Likewise. * sysdeps/ia64/dl-lookupcfg.h (_dl_lookup_address): Set the return type to ElfW(Addr). (_dl_function_address): New prototype. (DL_FUNCTION_ADDRESS): Defined. (DL_DT_INIT_ADDRESS): Defined as DL_FUNCTION_ADDRESS. (DL_DT_FINI_ADDRESS): Likewise. * sysdeps/ia64/Versions (GLIBC_2.2): Add _dl_function_address. * sysdeps/ia64/dl-machine.h (_dl_start_address): Removed. (ELF_MACHINE_START_ADDRESS): Changed to DL_FUNCTION_ADDRESS. * sysdeps/ia64/dl-symaddr.c (_dl_start_address): Renamed to ... (_dl_function_address): This. * elf/dl-fini.c (_dl_fini): Use DL_DT_FINI_ADDRESS to get the function pointer for DT_FINI. * elf/dl-close.c (_dl_close): Likewise. * elf/dl-init.c (_dl_init): Use DL_DT_INIT_ADDRESS to get the function pointer for DT_INIT. 2000-11-16 Jakub Jelinek * sysdeps/generic/printf_fphex.c (__printf_fphex): Compute correctly end of wexpbuf buffer. --- elf/dl-close.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'elf/dl-close.c') diff --git a/elf/dl-close.c b/elf/dl-close.c index 3a6f294b19..6c17593a52 100644 --- a/elf/dl-close.c +++ b/elf/dl-close.c @@ -152,8 +152,9 @@ _dl_close (void *_map) /* Next try the old-style destructor. */ if (imap->l_info[DT_FINI] != NULL) - (*(void (*) (void)) ((void *) imap->l_addr - + imap->l_info[DT_FINI]->d_un.d_ptr)) (); + (*(void (*) (void)) DL_DT_FINI_ADDRESS + (imap, (void *) imap->l_addr + + imap->l_info[DT_FINI]->d_un.d_ptr)) (); } /* Store the new l_opencount value. */ -- cgit v1.2.3