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].
This commit is contained in:
Ulrich Drepper 2000-07-14 07:23:50 +00:00
parent ca3c013564
commit f218b5f572
4 changed files with 22 additions and 2 deletions

View File

@ -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> 2000-07-13 Ulrich Drepper <drepper@redhat.com>
* elf/Versions (ld): Export _dl_out_of_memory for GLIBC_2.2. * elf/Versions (ld): Export _dl_out_of_memory for GLIBC_2.2.

View File

@ -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> 2000-07-12 Bruno Haible <haible@clisp.cons.org>
* Examples/ex8.c: Include <sys/wait.h>, not <wait.h>. * Examples/ex8.c: Include <sys/wait.h>, not <wait.h>.

View File

@ -1,5 +1,5 @@
/* Wrapper arpund system calls to provide cancelation points. /* 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. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. 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) \ #define CANCELABLE_SYSCALL(res_type, name, param_list, params) \
res_type __libc_##name param_list; \ res_type __libc_##name param_list; \
res_type \ res_type \
__attribute__ ((weak)) \
name param_list \ name param_list \
{ \ { \
res_type result; \ res_type result; \
@ -54,6 +55,7 @@ name param_list \
#define CANCELABLE_SYSCALL_VA(res_type, name, param_list, params, last_arg) \ #define CANCELABLE_SYSCALL_VA(res_type, name, param_list, params, last_arg) \
res_type __libc_##name param_list; \ res_type __libc_##name param_list; \
res_type \ res_type \
__attribute__ ((weak)) \
name param_list \ name param_list \
{ \ { \
res_type result; \ res_type result; \

View File

@ -181,7 +181,15 @@ xdr_u_long (XDR *xdrs, u_long *ulp)
switch (xdrs->x_op) switch (xdrs->x_op)
{ {
case XDR_DECODE: 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: case XDR_ENCODE:
return XDR_PUTLONG (xdrs, (long *) ulp); return XDR_PUTLONG (xdrs, (long *) ulp);