]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Wed, 23 May 2001 23:56:31 +0000 (23:56 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 23 May 2001 23:56:31 +0000 (23:56 +0000)
2001-05-23  kaz Kojima  <kkojima@rr.iij4u.or.jp>

* sysdeps/sh/dl-machine.h (_dl_runtime_resolve): Handle newer PLT.
(_dl_runtime_profile): Likewise..

2001-05-23  Thorsten Kukuk  <kukuk@suse.de>

* sysdeps/posix/getaddrinfo.c: Support for AF_UNIX commented out.
* posix/tst-getaddrinfo.c: Remove AF_UNIX test.

2001-05-19  H.J. Lu  <hjl@gnu.org>

* elf/dl-deps.c (_dl_map_object_deps): Pass objname and
errstring of the failed DSO to _dl_signal_error ().

ChangeLog
elf/dl-deps.c
posix/tst-getaddrinfo.c
sysdeps/posix/getaddrinfo.c
sysdeps/sh/dl-machine.h

index fe85360bc53cc6c6d0478ad242b4fc8593c2d1b1..9649227b4fb73b5747c4ebce3b044aa1aa56454f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2001-05-23  kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+       * sysdeps/sh/dl-machine.h (_dl_runtime_resolve): Handle newer PLT.
+       (_dl_runtime_profile): Likewise..
+
+2001-05-23  Thorsten Kukuk  <kukuk@suse.de>
+
+       * sysdeps/posix/getaddrinfo.c: Support for AF_UNIX commented out.
+       * posix/tst-getaddrinfo.c: Remove AF_UNIX test.
+
+2001-05-19  H.J. Lu  <hjl@gnu.org>
+
+       * elf/dl-deps.c (_dl_map_object_deps): Pass objname and
+       errstring of the failed DSO to _dl_signal_error ().
+
 2001-05-23  Ulrich Drepper  <drepper@redhat.com>
 
        * iconvdata/gconv-modules: Add more aliases to enable use in
index 8b9e1321ee33ab0f7b0c17735772eebba48f3e96..9bdaa46ad7f3bc50357c5dac4aa3e0c6bf2d0b63 100644 (file)
@@ -141,6 +141,7 @@ _dl_map_object_deps (struct link_map *map,
   int errno_saved;
   int errno_reason;
   const char *errstring;
+  const char *objname;
 
   auto inline void preload (struct link_map *map);
 
@@ -221,7 +222,6 @@ _dl_map_object_deps (struct link_map *map,
              {
                /* Map in the needed object.  */
                struct link_map *dep;
-               const char *objname;
 
                /* Recognize DSTs.  */
                name = expand_dst (l, strtab + d->d_un.d_val, 0);
@@ -263,7 +263,6 @@ _dl_map_object_deps (struct link_map *map,
              }
            else if (d->d_tag == DT_AUXILIARY || d->d_tag == DT_FILTER)
              {
-               const char *objname;
                struct list *newp;
 
                /* Recognize DSTs.  */
@@ -289,7 +288,6 @@ _dl_map_object_deps (struct link_map *map,
                        assert (errstring != NULL);
                        if (errstring != _dl_out_of_memory)
                          free ((char *) errstring);
-                       errstring = NULL;
 
                        /* Simply ignore this error and continue the work.  */
                        continue;
@@ -541,5 +539,5 @@ out:
 
   if (errno_reason)
     _dl_signal_error (errno_reason == -1 ? 0 : errno_reason,
-                     errstring ?: "", N_("cannot load shared object file"));
+                     objname, errstring);
 }
index 84929f57e498a91015557cc4b559b76ec982ce2d..a6197f267439c7c16384db4020e1a6548f195708 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -26,7 +26,7 @@
 static int
 do_test (void)
 {
-  const int family[3] = { AF_INET, AF_INET6, AF_UNIX };
+  const int family[2] = { AF_INET, AF_INET6 };
   int result = 0;
   int gaierr, index;
   struct addrinfo hints, *ai, *aitop;
index 5239b6219b7ae18b0137ae16916069a8d88a6413..1c5ed213c9657e461ce3f60db6c68295f997538e 100644 (file)
@@ -125,6 +125,8 @@ static const struct addrinfo default_hints =
 #endif
 
 
+#if 0
+/* Using Unix sockets this way is a security risk.  */
 static int
 gaih_local (const char *name, const struct gaih_service *service,
            const struct addrinfo *req, struct addrinfo **pai)
@@ -232,6 +234,7 @@ gaih_local (const char *name, const struct gaih_service *service,
     (*pai)->ai_canonname = NULL;
   return 0;
 }
+#endif /* 0 */
 
 static int
 gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp,
@@ -690,7 +693,9 @@ static struct gaih gaih[] =
   {
     { PF_INET6, gaih_inet },
     { PF_INET, gaih_inet },
+#if 0
     { PF_LOCAL, gaih_local },
+#endif
     { PF_UNSPEC, NULL }
   };
 
index 6a4aecf7daa46df62f353fd96afb35d7cd4b1776..aaaf9946a6c110b983e2a6d11733192b75d445cc 100644 (file)
@@ -165,6 +165,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
        .type _dl_runtime_resolve, @function
        .align 5
 _dl_runtime_resolve:
+       mov.l r2,@-r15
        mov.l r3,@-r15
        mov.l r4,@-r15
        mov.l r5,@-r15
@@ -175,6 +176,10 @@ _dl_runtime_resolve:
        mov.l r3,@-r15
        " FGR_SAVE "
        sts.l pr,@-r15
+       tst r0,r0
+       bt 1f
+       mov r0,r2
+1:
        mov r0,r4               ! PLT type
        mov r2,r5               ! link map address
        " FUN_ADDR "
@@ -189,8 +194,9 @@ _dl_runtime_resolve:
        mov.l @r15+,r6
        mov.l @r15+,r5
        mov.l @r15+,r4
+       mov.l @r15+,r3
        jmp @r0                 ! Jump to function address.
-        mov.l @r15+,r3
+        mov.l @r15+,r2
        .align 2
 3:
        .long " GOTJMP (fixup) "
@@ -200,6 +206,7 @@ _dl_runtime_resolve:
        .type _dl_runtime_profile, @function
        .align 5
 _dl_runtime_profile:
+       mov.l r2,@-r15
        mov.l r3,@-r15
        mov.l r4,@-r15
        mov.l r5,@-r15
@@ -210,6 +217,10 @@ _dl_runtime_profile:
        mov.l r3,@-r15
        " FGR_SAVE "
        sts.l pr,@-r15
+       tst r0,r0
+       bt 1f
+       mov r0,r2
+1:
        mov r0,r4               ! PLT type
        mov r2,r5               ! link map address
        sts pr,r7               ! return address
@@ -225,8 +236,9 @@ _dl_runtime_profile:
        mov.l @r15+,r6
        mov.l @r15+,r5
        mov.l @r15+,r4
+       mov.l @r15+,r3
        jmp @r0                 ! Jump to function address.
-        mov.l @r15+,r3
+        mov.l @r15+,r2
        .align 2
 3:
        .long " GOTJMP (profile_fixup) "
@@ -243,6 +255,7 @@ _dl_runtime_profile:
        .align 5
 _dl_runtime_resolve:
 _dl_runtime_profile:
+       mov.l r2,@-r15
        mov.l r3,@-r15
        mov.l r4,@-r15
        mov.l r5,@-r15
@@ -253,6 +266,10 @@ _dl_runtime_profile:
        mov.l r3,@-r15
        " FGR_SAVE "
        sts.l pr,@-r15
+       tst r0,r0
+       bt 1f
+       mov r0,r2
+1:
        mov r0,r4               ! PLT type
        mov r2,r5               ! link map address
        sts pr,r7               ! return address
@@ -268,8 +285,9 @@ _dl_runtime_profile:
        mov.l @r15+,r6
        mov.l @r15+,r5
        mov.l @r15+,r4
+       mov.l @r15+,r3
        jmp @r0                 ! Jump to function address.
-        mov.l @r15+,r3
+        mov.l @r15+,r2
        .align 2
 3:
        .long " GOTJMP (fixup) "