diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-12-01 10:25:44 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-12-01 10:25:44 -0800 |
commit | 7635a88d320c665defd44085d3b9031d673fe1ee (patch) | |
tree | fa086fcc5a26969adc5752edce389d025a60f8c2 /sysdeps/unix/sysv | |
parent | c960ded0d552ee20ea4688a5442dd75440355886 (diff) | |
download | glibc-7635a88d320c665defd44085d3b9031d673fe1ee.tar.gz glibc-7635a88d320c665defd44085d3b9031d673fe1ee.tar.xz glibc-7635a88d320c665defd44085d3b9031d673fe1ee.zip |
Add __CPU_MASK_TYPE for __cpu_mask
Since x86-64 and x32 use the same set of sched_XXX system call interface: [hjl@gnu-6 linux-stable]$ grep sched_ arch/x86/entry/syscalls/syscall_64.tbl 24 common sched_yield sys_sched_yield 142 common sched_setparam sys_sched_setparam 143 common sched_getparam sys_sched_getparam 144 common sched_setscheduler sys_sched_setscheduler 145 common sched_getscheduler sys_sched_getscheduler 146 common sched_get_priority_max sys_sched_get_priority_max 147 common sched_get_priority_min sys_sched_get_priority_min 148 common sched_rr_get_interval sys_sched_rr_get_interval 203 common sched_setaffinity sys_sched_setaffinity 204 common sched_getaffinity sys_sched_getaffinity 314 common sched_setattr sys_sched_setattr 315 common sched_getattr sys_sched_getattr [hjl@gnu-6 linux-stable]$ __cpu_mask should be unsigned long long, instead of unsigned long, for x32. This patch adds __CPU_MASK_TYPE so that each architecture can define the proper type for __cpu_mask. [BZ #19313] * bits/typesizes.h (__CPU_MASK_TYPE): New. * sysdeps/mach/hurd/bits/typesizes.h (__CPU_MASK_TYPE): Likewise. * sysdeps/nacl/bits/typesizes.h (__CPU_MASK_TYPE): Likewise. * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h (__CPU_MASK_TYPE): Likewise. * sysdeps/unix/sysv/linux/generic/bits/typesizes.h (__CPU_MASK_TYPE): Likewise. * sysdeps/unix/sysv/linux/s390/bits/typesizes.h (__CPU_MASK_TYPE): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (__CPU_MASK_TYPE): Likewise. * sysdeps/unix/sysv/linux/x86/bits/typesizes.h (__CPU_MASK_TYPE): * sysdeps/unix/sysv/linux/bits/sched.h (__cpu_mask): Replace unsigned long int with __CPU_MASK_TYPE.
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/bits/typesizes.h | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/sched.h | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/generic/bits/typesizes.h | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/s390/bits/typesizes.h | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/typesizes.h | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86/bits/typesizes.h | 1 |
6 files changed, 6 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h b/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h index b40a2c2f0b..aa00287fdb 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h @@ -58,6 +58,7 @@ #define __SSIZE_T_TYPE __SWORD_TYPE #define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE #define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE #define __FSWORD_T_TYPE __S32_TYPE /* Tell the libc code that off_t and off64_t are actually the same type diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h index ae089df522..7bee1b6cc4 100644 --- a/sysdeps/unix/sysv/linux/bits/sched.h +++ b/sysdeps/unix/sysv/linux/bits/sched.h @@ -115,7 +115,7 @@ struct __sched_param # define __NCPUBITS (8 * sizeof (__cpu_mask)) /* Type for array elements in 'cpu_set_t'. */ -typedef unsigned long int __cpu_mask; +typedef __CPU_MASK_TYPE __cpu_mask; /* Basic access functions. */ # define __CPUELT(cpu) ((cpu) / __NCPUBITS) diff --git a/sysdeps/unix/sysv/linux/generic/bits/typesizes.h b/sysdeps/unix/sysv/linux/generic/bits/typesizes.h index de98a39017..22d857ff5b 100644 --- a/sysdeps/unix/sysv/linux/generic/bits/typesizes.h +++ b/sysdeps/unix/sysv/linux/generic/bits/typesizes.h @@ -60,6 +60,7 @@ #define __SSIZE_T_TYPE __SWORD_TYPE #define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE #define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE #ifdef __LP64__ /* Tell the libc code that off_t and off64_t are actually the same type diff --git a/sysdeps/unix/sysv/linux/s390/bits/typesizes.h b/sysdeps/unix/sysv/linux/s390/bits/typesizes.h index 78d377c863..38af1204e9 100644 --- a/sysdeps/unix/sysv/linux/s390/bits/typesizes.h +++ b/sysdeps/unix/sysv/linux/s390/bits/typesizes.h @@ -65,6 +65,7 @@ #endif #define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE #define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE #ifdef __s390x__ /* Tell the libc code that off_t and off64_t are actually the same type diff --git a/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h b/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h index 2167c28aeb..4b7cac6675 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h @@ -59,6 +59,7 @@ #define __SSIZE_T_TYPE __SWORD_TYPE #define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE #define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE #if defined __arch64__ || defined __sparcv9 /* Tell the libc code that off_t and off64_t are actually the same type diff --git a/sysdeps/unix/sysv/linux/x86/bits/typesizes.h b/sysdeps/unix/sysv/linux/x86/bits/typesizes.h index 8889bc0039..f89d9d27f7 100644 --- a/sysdeps/unix/sysv/linux/x86/bits/typesizes.h +++ b/sysdeps/unix/sysv/linux/x86/bits/typesizes.h @@ -71,6 +71,7 @@ #define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE #define __FSID_T_TYPE struct { int __val[2]; } #define __SSIZE_T_TYPE __SWORD_TYPE +#define __CPU_MASK_TYPE __SYSCALL_ULONG_TYPE #ifdef __x86_64__ /* Tell the libc code that off_t and off64_t are actually the same type |