aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);