]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 14 Mar 1998 16:08:16 +0000 (16:08 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 14 Mar 1998 16:08:16 +0000 (16:08 +0000)
1998-03-14 11:47  H.J. Lu  <hjl@gnu.org>

* elf/dl-close.c (_dl_close): Stop unmapping the segments after
unmapping the last loaded segment.

1998-03-14 15:54  Ulrich Drepper  <drepper@cygnus.com>

* configure.in: Set base_os for Irix6.
Correct test for .weakext.

1998-03-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

* elf/dl-deps.c (_dl_map_object_deps): Add first parameter
(new_line) to _dl_debug_message call.

* locale/programs/linereader.c (lr_token): Return EOF token at EOF.

ChangeLog
configure.in
elf/dl-close.c
elf/dl-deps.c

index a9445895e5472eff8587f316562ac7a1ec052f4e..53fc68b25923c3a527a8d86b30dc97ad3104c837 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+1998-03-14 11:47  H.J. Lu  <hjl@gnu.org>
+
+       * elf/dl-close.c (_dl_close): Stop unmapping the segments after
+       unmapping the last loaded segment.
+
+1998-03-14 15:54  Ulrich Drepper  <drepper@cygnus.com>
+
+       * configure.in: Set base_os for Irix6.
+       Correct test for .weakext.
+
+1998-03-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * elf/dl-deps.c (_dl_map_object_deps): Add first parameter
+       (new_line) to _dl_debug_message call.
+
 1998-03-14 00:52  Tim Waugh  <tim@cyberelk.demon.co.uk>
 
        * posix/wordexp.c (parse_param): Perform field-splitting after
@@ -11,8 +26,7 @@
 
 1998-03-14  Ulrich Drepper  <drepper@cygnus.com>
 
-       * locale/programs/linereader.c (lr_token): Return EOF token at
-       EOF.
+       * locale/programs/linereader.c (lr_token): Return EOF token at EOF.
        (get_toplvl_escape): Correctly terminate loop at EOF.
        Patch by Cristian Gafton <gafton@redhat.com>.
 
index 0406eacaab6e311fda96c58afa831bc16e5d2f0f..0f3a9a70d5d6b5e5ad23aac4d9dc434a9ebe8dc4 100644 (file)
@@ -234,6 +234,8 @@ osf* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
   base_os=unix/bsd ;;
 sysv* | isc* | esix* | sco* | minix* | irix4* | linux*)
   base_os=unix/sysv ;;
+irix6*)
+  base_os=unix/sysv/irix6/$os ;;
 solaris[2-9]*)
   base_os=unix/sysv/sysv4 ;;
 none)
@@ -800,8 +802,9 @@ cat > conftest.s <<EOF
 .text
 ${libc_cv_asm_global_directive} foo
 foo:
-.weakext foo
-.weakext foo, bar
+.weakext bar foo
+.weakext baz
+${libc_cv_asm_global_directive} baz
 EOF
   if ${CC-cc} $CFLAGS -c conftest.s 2>/dev/null; then
     libc_cv_asm_weakext_directive=yes
index 285457323d3898adc6dc00bacf59c84b006a39e9..253b073367f70ec923d903bf2ddbd555e9691557 100644 (file)
@@ -80,6 +80,7 @@ _dl_close (struct link_map *map)
          /* That was the last reference, and this was a dlopen-loaded
             object.  We can unmap it.  */
          const ElfW(Phdr) *ph;
+         const ElfW(Phdr) *eph;
 
          if (imap->l_info[DT_FINI])
            /* Call its termination function.  */
@@ -99,9 +100,14 @@ _dl_close (struct link_map *map)
              _dl_global_scope_end[1] = NULL;
            }
 
+         /* Find the first entry specifying a load command.  We have
+            to determine this now since the table itself is also loaded.  */
+         for (eph = imap->l_phdr; eph < imap->l_phdr + imap->l_phnum; ++eph)
+           if (eph->p_type == PT_LOAD)
+             break;
+
          /* Unmap the segments.  */
-         for (ph = imap->l_phdr + (imap->l_phnum - 1);
-              ph >= imap->l_phdr; --ph)
+         for (ph = imap->l_phdr + (imap->l_phnum - 1); ph >= eph; --ph)
            if (ph->p_type == PT_LOAD)
              {
                ElfW(Addr) mapstart = ph->p_vaddr & ~(ph->p_align - 1);
index 63270987363622987284978743fa3ffe345784e5..5dbef6cabfe565b46a42d0a045f3a3b826a99c84 100644 (file)
@@ -203,7 +203,7 @@ _dl_map_object_deps (struct link_map *map,
 
                    /* Say that we are about to load an auxiliary library.  */
                    if (_dl_debug_libs)
-                     _dl_debug_message ("load auxiliary object=",
+                     _dl_debug_message (1, "load auxiliary object=",
                                         strtab + d->d_un.d_val,
                                         " requested by file=",
                                         l->l_name[0]
@@ -226,7 +226,7 @@ _dl_map_object_deps (struct link_map *map,
                  {
                    /* Say that we are about to load an auxiliary library.  */
                    if (_dl_debug_libs)
-                     _dl_debug_message ("load filtered object=",
+                     _dl_debug_message (1, "load filtered object=",
                                         strtab + d->d_un.d_val,
                                         " requested by file=",
                                         l->l_name[0]