summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-05-23 23:56:31 +0000
committerUlrich Drepper <drepper@redhat.com>2001-05-23 23:56:31 +0000
commit64b7897d6d453e67afe3f9d81c8fc37c26f8d483 (patch)
tree8ba245ec72d14cb2dd1ca5adcd89d4f0589f2c78 /sysdeps
parent2210704803b8ed0181109021488119f76b9868a1 (diff)
downloadglibc-64b7897d6d453e67afe3f9d81c8fc37c26f8d483.tar.gz
glibc-64b7897d6d453e67afe3f9d81c8fc37c26f8d483.tar.xz
glibc-64b7897d6d453e67afe3f9d81c8fc37c26f8d483.zip
Update.
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 ().
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/posix/getaddrinfo.c5
-rw-r--r--sysdeps/sh/dl-machine.h24
2 files changed, 26 insertions, 3 deletions
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 5239b6219b..1c5ed213c9 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -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 }
   };
 
diff --git a/sysdeps/sh/dl-machine.h b/sysdeps/sh/dl-machine.h
index 6a4aecf7da..aaaf9946a6 100644
--- a/sysdeps/sh/dl-machine.h
+++ b/sysdeps/sh/dl-machine.h
@@ -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) "