diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | linuxthreads/ChangeLog | 5 | ||||
-rw-r--r-- | linuxthreads/wrapsyscall.c | 4 | ||||
-rw-r--r-- | sunrpc/xdr.c | 10 |
4 files changed, 22 insertions, 2 deletions
@@ -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); |