From b48abe3cc82b87c152072920756a80af775a1fe3 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 25 May 1998 10:01:47 +0000 Subject: Update. 1998-05-25 Ulrich Drepper * malloc/thread-m.h: Use __mutex_init function in mutex_init macro for Hurd. Patch by Mark Kettenis. 1998-04-18 Gordon Matzigkeit * mach/Machrules (+preinit, +postinit): Define these variables to empty because libhurduser and libmachuser don't need startup files. 1998-04-22 Gordon Matzigkeit * sysdeps/mach/hurd/errlist.c (ERR_REMAP): Use err_get_code instead of a raw bitmask. 1998-05-23 Andreas Schwab * Makeconfig (rpath-dirs): New variable. (rpath-link): Use it. (nssobjdir, nisobjdir, rtobjdir, resolvobjdir): Removed. (db-objpfx): Removed. * crypt/Makefile: Augment rpath-dirs instead of rpath-link. * md5-crypt/Makefile: Likewise. * sysdeps/mach/hurd/Makefile: Likewise. * Makeconfig (move-if-change): New variable. * iconvdata/Makefile (move-if-change): Removed. * manual/Makefile (move-if-change): Set only if undefined, use local script by default. * sunrpc/Makefile (move-if-change): Removed. * sysdeps/mach/hurd/Makefile ($(common-objpfx)stamp-errnos): Use $(move-if-change). * elf/Makefile: Remove all references to obsolete file $(objpfx)rtldtbl.h. ($(objpfx)trusted-dirs.h): Use stamp file. Cleanup command. 1998-05-22 Andreas Schwab * elf/dl-close.c (_dl_close): Add debugging message. 1998-05-25 Andreas Jaeger * csu/Makefile ($(objpfx)version-info.h): Correct sed expression to get Linux version and not gcc version. Reported by Alan Curry . 1998-05-25 Andreas Jaeger * sysdeps/generic/_strerror.c (__strerror_r): Don't return NULL pointers - return unknown error message instead. Reported by Alan Curry . 1998-05-24 Mark Kettenis * iconvdata/Makefile (modules, sed-generated-headers, perl-generated-headers): ibm424.h is perl generated. Make necessary modifications to compile without perl. 1998-05-24 Mark Kettenis * hesiod/hesiod.c (read_config_file): Fix typo. --- elf/dl-close.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'elf') diff --git a/elf/dl-close.c b/elf/dl-close.c index 49deb961b3..8b352d0f47 100644 --- a/elf/dl-close.c +++ b/elf/dl-close.c @@ -61,12 +61,16 @@ _dl_close (struct link_map *map) for (i = 0; i < map->l_nsearchlist; ++i) { struct link_map *imap = list[i]; - if (imap->l_opencount == 1 && imap->l_type == lt_loaded) + if (imap->l_opencount == 1 && imap->l_type == lt_loaded + && imap->l_info[DT_FINI]) { - if (imap->l_info[DT_FINI]) - /* Call its termination function. */ - (*(void (*) (void)) ((void *) imap->l_addr - + imap->l_info[DT_FINI]->d_un.d_ptr)) (); + /* When debugging print a message first. */ + if (_dl_debug_impcalls) + _dl_debug_message (1, "\ncalling fini: ", imap->l_name, + "\n\n", NULL); + /* Call its termination function. */ + (*(void (*) (void)) ((void *) imap->l_addr + + imap->l_info[DT_FINI]->d_un.d_ptr)) (); } } -- cgit v1.2.1