Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 14 Jul 2000 07:23:50 +0000 (07:23 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 14 Jul 2000 07:23:50 +0000 (07:23 +0000)
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].

ChangeLog
linuxthreads/ChangeLog
linuxthreads/wrapsyscall.c
sunrpc/xdr.c

index f175d84..9fdb6d9 100644 (file)
--- 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.
index 8bd9c75..e205a2e 100644 (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>
 
        * Examples/ex8.c: Include <sys/wait.h>, not <wait.h>.
index 7d3f8ac..5563eb0 100644 (file)
@@ -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;                                                           \
index 0cb5f25..e5d706d 100644 (file)
@@ -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);