aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/unix/sysv/linux/pselect.c8
2 files changed, 7 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 3459871..8a89c2d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2012-05-17 H.J. Lu <hongjiu.lu@intel.com>
+ * sysdeps/unix/sysv/linux/pselect.c (data): Use __syscall_ulong_t
+ on both fields and cast pointer to __syscall_ulong_t.
+
* bits/types.h (__fsword_t): New type.
* bits/typesizes.h (__FSWORD_T_TYPE): New macro.
sysdeps/mach/hurd/bits/typesizes.h (__FSWORD_T_TYPE): Likewise.
diff --git a/sysdeps/unix/sysv/linux/pselect.c b/sysdeps/unix/sysv/linux/pselect.c
index 8864d78..11aa7d1 100644
--- a/sysdeps/unix/sysv/linux/pselect.c
+++ b/sysdeps/unix/sysv/linux/pselect.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2006.
@@ -52,11 +52,11 @@ __pselect (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
be created. */
struct
{
- const sigset_t *ss;
- size_t ss_len;
+ __syscall_ulong_t ss;
+ __syscall_ulong_t ss_len;
} data;
- data.ss = sigmask;
+ data.ss = (__syscall_ulong_t) (uintptr_t) sigmask;
data.ss_len = _NSIG / 8;
int result;