about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-07-14 07:23:50 +0000
committerUlrich Drepper <drepper@redhat.com>2000-07-14 07:23:50 +0000
commitf218b5f57242863c36eae65d926d4ee545994351 (patch)
treeb8864837a286aaeb3e6226f9c9a95cde8d387077
parentca3c01356495ebfbb315c2984dda8eba88467597 (diff)
downloadglibc-f218b5f57242863c36eae65d926d4ee545994351.tar.gz
glibc-f218b5f57242863c36eae65d926d4ee545994351.tar.xz
glibc-f218b5f57242863c36eae65d926d4ee545994351.zip
Update.
2000-07-14  Ulrich Drepper  <drepper@redhat.com>

	* sunrpc/xdr.c (xdr_u_long): Handle reading of unsigned long on
	64-bit architecture correctly [PR libc/1794].
-rw-r--r--ChangeLog5
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/wrapsyscall.c4
-rw-r--r--sunrpc/xdr.c10
4 files changed, 22 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f175d84f2e..9fdb6d9737 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-07-14  Ulrich Drepper  <drepper@redhat.com>
+
+	* sunrpc/xdr.c (xdr_u_long): Handle reading of unsigned long on
+	64-bit architecture correctly [PR libc/1794].
+
 2000-07-13  Ulrich Drepper  <drepper@redhat.com>
 
 	* elf/Versions (ld): Export _dl_out_of_memory for GLIBC_2.2.
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 8bd9c75cdc..e205a2e3ec 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2000-07-13  Ulrich Drepper  <drepper@redhat.com>
+
+	* wrapsyscall.c: Mark non-__ protected names as weak.
+	PR libc/1466.
+
 2000-07-12  Bruno Haible  <haible@clisp.cons.org>
 
 	* Examples/ex8.c: Include <sys/wait.h>, not <wait.h>.
diff --git a/linuxthreads/wrapsyscall.c b/linuxthreads/wrapsyscall.c
index 7d3f8ac483..5563eb0e67 100644
--- a/linuxthreads/wrapsyscall.c
+++ b/linuxthreads/wrapsyscall.c
@@ -1,5 +1,5 @@
 /* Wrapper arpund system calls to provide cancelation points.
-   Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -41,6 +41,7 @@ const int __pthread_provide_wrappers = 0;
 #define CANCELABLE_SYSCALL(res_type, name, param_list, params) \
 res_type __libc_##name param_list;					      \
 res_type								      \
+__attribute__ ((weak))							      \
 name param_list								      \
 {									      \
   res_type result;							      \
@@ -54,6 +55,7 @@ name param_list								      \
 #define CANCELABLE_SYSCALL_VA(res_type, name, param_list, params, last_arg) \
 res_type __libc_##name param_list;					      \
 res_type								      \
+__attribute__ ((weak))							      \
 name param_list								      \
 {									      \
   res_type result;							      \
diff --git a/sunrpc/xdr.c b/sunrpc/xdr.c
index 0cb5f25332..e5d706dd20 100644
--- a/sunrpc/xdr.c
+++ b/sunrpc/xdr.c
@@ -181,7 +181,15 @@ xdr_u_long (XDR *xdrs, u_long *ulp)
   switch (xdrs->x_op)
     {
     case XDR_DECODE:
-      return XDR_GETLONG (xdrs, (long *) ulp);
+      {
+	long int tmp;
+
+	if (XDR_GETLONG (xdrs, &tmp) == FALSE)
+	  return FALSE;
+
+	*ulp = (uint32_t) tmp;
+	return TRUE;
+      }
 
     case XDR_ENCODE:
       return XDR_PUTLONG (xdrs, (long *) ulp);