Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 15 Aug 2000 07:06:23 +0000 (07:06 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 15 Aug 2000 07:06:23 +0000 (07:06 +0000)
2000-08-15  Ulrich Drepper  <drepper@redhat.com>

* elf/multiload.c: Add mtrace call.  Call dlclose for all handles and
free wd.
* elf/dl-deps.c (_dl_map_object_deps): Don't allocate needed list if
there is already one.

* elf/dl-close.c: Pretty print.

ChangeLog
elf/dl-close.c
elf/dl-deps.c
elf/multiload.c
localedata/ChangeLog

index 8fcc19effc68427bfdad4e81e7972a361eb260f9..e89c8bd5e81939e6eb8a146b46b620f9f019dead 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2000-08-15  Ulrich Drepper  <drepper@redhat.com>
+
+       * elf/multiload.c: Add mtrace call.  Call dlclose for all handles and
+       free wd.
+       * elf/dl-deps.c (_dl_map_object_deps): Don't allocate needed list if
+       there is already one.
+
+       * elf/dl-close.c: Pretty print.
+
 2000-08-14  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/posix/ttyname.c: Make name variable from getttyname function
index 99d52d02e2ae496722eca6e2bc0fa12892555ce4..6bdedd1b808d86d1023af4f1ddf507a4425bc9c3 100644 (file)
@@ -189,10 +189,10 @@ _dl_close (void *_map)
          /* Remove the searchlists.  */
          if (imap != map)
            {
-           if (imap->l_searchlist.r_list != NULL)
-             free (imap->l_searchlist.r_list);
-           else if (imap->l_initfini != NULL)
-             free (imap->l_initfini);
+             if (imap->l_searchlist.r_list != NULL)
+               free (imap->l_searchlist.r_list);
+             else if (imap->l_initfini != NULL)
+               free (imap->l_initfini);
            }
 
          if (imap->l_phdr_allocated)
index 5bc048edb9543e4e6e8bae1fefa26af9adb01f27..4fc2943c1490f415e620bf0ec2bcc97d362ec3e1 100644 (file)
@@ -201,7 +201,8 @@ _dl_map_object_deps (struct link_map *map,
 
       /* Allocate a temporary record to contain the references to the
         dependencies of this object.  */
-      if (l->l_searchlist.r_list == NULL && l != map && l->l_ldnum > 0)
+      if (l->l_searchlist.r_list == NULL && l->l_initfini == NULL
+         && l != map && l->l_ldnum > 0)
        needed = (struct link_map **) alloca (l->l_ldnum
                                              * sizeof (struct link_map *));
 
index 724c1ed562624202a371f278cb2c0cf50b897dff..3727d97f6a7cd4527d1ef8c487c926b95c182c02 100644 (file)
@@ -1,5 +1,6 @@
 #include <dlfcn.h>
 #include <errno.h>
+#include <mcheck.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -16,6 +17,8 @@ main (void)
   char *base;
   char *buf;
 
+  mtrace ();
+
   /* Change to the binary directory.  */
   if (chdir (OBJDIR) != 0)
     {
@@ -68,6 +71,29 @@ main (void)
       exit (EXIT_FAILURE);
     }
 
+  if (dlclose (a) != 0)
+    {
+      puts ("closing `a' failed");
+      exit (EXIT_FAILURE);
+    }
+  if (dlclose (b) != 0)
+    {
+      puts ("closing `a' failed");
+      exit (EXIT_FAILURE);
+    }
+  if (dlclose (c) != 0)
+    {
+      puts ("closing `a' failed");
+      exit (EXIT_FAILURE);
+    }
+  if (dlclose (d) != 0)
+    {
+      puts ("closing `a' failed");
+      exit (EXIT_FAILURE);
+    }
+
+  free (wd);
+
   return 0;
 }
 
index 51b10428b98d79246ccd5e165e1372204ccb8be6..5d3e847c3b208169d7e5c9bdacdeb764b0c1c5c6 100644 (file)
@@ -1,3 +1,9 @@
+2000-08-14  Ulrich Drepper  <drepper@redhat.com>
+
+       * locales/iso14651_t1: Rearrange cyrillic and greek sections to
+       separate uppercase from non-uppercase characters to enable correct
+       handling in range expressions.
+
 2000-08-13  Ulrich Drepper  <drepper@redhat.com>
 
        * Makefile (install-locales): Use --prefix option of localedef to