glibc/sysdeps/unix/sysv/linux/generic
H.J. Lu 7635a88d32 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.
2015-12-01 10:25:44 -08:00
..
bits Add __CPU_MASK_TYPE for __cpu_mask 2015-12-01 10:25:44 -08:00
wordsize-32 Fix wordsize-32 mmap offset for negative value (BZ#18877) 2015-08-28 10:42:07 -03:00
____longjmp_chk.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
access.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
brk.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
chmod.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
chown.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
creat.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-origin.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dup2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
epoll_create.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
epoll_wait.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
futimesat.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getdents64.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getdents.c
inotify_init.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
kernel_stat.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
lchown.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
link.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
lxstat.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Makefile
mkdir.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
open64.c nptl: Rewrite cancellation macros 2015-06-04 18:58:36 -03:00
open.c nptl: Rewrite cancellation macros 2015-06-04 18:58:36 -03:00
pause.c nptl: Rewrite cancellation macros 2015-06-04 18:58:36 -03:00
pipe.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
poll.c nptl: Rewrite cancellation macros 2015-06-04 18:58:36 -03:00
readlink_chk.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
readlink.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
README linux-generic: add a README 2015-03-19 13:33:01 -04:00
recv.c Fix mq_notify socket, recv namespace (bug 18546). 2015-06-17 20:20:08 +00:00
rename.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
rmdir.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
select.c nptl: Rewrite cancellation macros 2015-06-04 18:58:36 -03:00
send.c nptl: Rewrite cancellation macros 2015-06-04 18:58:36 -03:00
symlink.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
syscalls.list
sysctl.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sysdep.h Add INLINE_SYSCALL_ERROR_RETURN_VALUE 2015-10-13 11:59:15 -07:00
umount.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
unlink.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ustat.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
utimes.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
xmknod.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
xstat.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00

This hierarchy supports Linux systems using the new
asm-generic/unistd.h, which removes many familiar old syscalls.  For
example, to implement open(), newer Linux architectures require glibc
to invoke the __NR_openat syscall with AT_FDCWD.  This hierarchy
provides all those implementations.

It also provides support for 32-bit platforms using the 64-bit kernel
syscall APIs, as the 32-bit ones are no longer provided.  Note that
newer ILP32 environments (x32 or AArch64:ILP32, for example) are
converting to use more 64-bit types in kernel syscalls, so that aspect
of this support is in more flux as of this writing.