From 9724ce3a09f8c0869a45c4ebdef665a1ee049734 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Thu, 21 Mar 2013 19:43:54 -0700 Subject: [PATCH] Don't #define SYS_ constants unless they make sense for the current architecture. Fixes the MIPS and x86 builds. strace tests whether syscalls are supported using #ifdef of the appropriate SYS_ constant. Change-Id: I90be118dc42abfdaf5b0f9b1e676e8601f55106e --- libc/include/sys/glibc-syscalls.h | 632 ++++++++++++++++++++---------- libc/tools/gensyscalls.py | 59 +-- 2 files changed, 460 insertions(+), 231 deletions(-) diff --git a/libc/include/sys/glibc-syscalls.h b/libc/include/sys/glibc-syscalls.h index 125d2413a..1eac60d07 100644 --- a/libc/include/sys/glibc-syscalls.h +++ b/libc/include/sys/glibc-syscalls.h @@ -1,235 +1,463 @@ /* Auto-generated by gensyscalls.py; do not edit. */ #ifndef _BIONIC_GLIBC_SYSCALLS_H_ #define _BIONIC_GLIBC_SYSCALLS_H_ -#define SYS_ARM_cacheflush __NR_ARM_cacheflush -#define SYS_ARM_set_tls __NR_ARM_set_tls +#define SYS_exit __NR_exit +#define SYS_fork __NR_fork +#define SYS_read __NR_read +#define SYS_write __NR_write +#define SYS_open __NR_open +#define SYS_close __NR_close +#define SYS_link __NR_link +#define SYS_unlink __NR_unlink +#define SYS_execve __NR_execve +#define SYS_chdir __NR_chdir +#define SYS_mknod __NR_mknod +#define SYS_chmod __NR_chmod +#define SYS_lseek __NR_lseek +#define SYS_getpid __NR_getpid +#define SYS_mount __NR_mount +#define SYS_ptrace __NR_ptrace +#define SYS_pause __NR_pause +#define SYS_access __NR_access +#define SYS_sync __NR_sync +#define SYS_rename __NR_rename +#define SYS_mkdir __NR_mkdir +#define SYS_rmdir __NR_rmdir +#define SYS_dup __NR_dup +#define SYS_times __NR_times +#define SYS_brk __NR_brk +#define SYS_acct __NR_acct +#define SYS_umount2 __NR_umount2 +#define SYS_ioctl __NR_ioctl +#define SYS_fcntl __NR_fcntl +#define SYS_setpgid __NR_setpgid +#define SYS_umask __NR_umask +#define SYS_chroot __NR_chroot +#define SYS_dup2 __NR_dup2 +#define SYS_getppid __NR_getppid +#define SYS_setsid __NR_setsid +#define SYS_sigaction __NR_sigaction +#define SYS_sigpending __NR_sigpending +#define SYS_setrlimit __NR_setrlimit +#define SYS_getrusage __NR_getrusage +#define SYS_gettimeofday __NR_gettimeofday +#define SYS_settimeofday __NR_settimeofday +#define SYS_symlink __NR_symlink +#define SYS_readlink __NR_readlink +#define SYS_reboot __NR_reboot +#define SYS_munmap __NR_munmap +#define SYS_truncate __NR_truncate +#define SYS_ftruncate __NR_ftruncate +#define SYS_fchmod __NR_fchmod +#define SYS_getpriority __NR_getpriority +#define SYS_setpriority __NR_setpriority +#define SYS_syslog __NR_syslog +#define SYS_syslog __NR_syslog +#define SYS_setitimer __NR_setitimer +#define SYS_getitimer __NR_getitimer +#define SYS_wait4 __NR_wait4 +#define SYS_sysinfo __NR_sysinfo +#define SYS_fsync __NR_fsync +#define SYS_clone __NR_clone +#define SYS_uname __NR_uname +#define SYS_mprotect __NR_mprotect +#define SYS_sigprocmask __NR_sigprocmask +#define SYS_init_module __NR_init_module +#define SYS_delete_module __NR_delete_module +#define SYS_getpgid __NR_getpgid +#define SYS_fchdir __NR_fchdir +#define SYS_personality __NR_personality #define SYS__llseek __NR__llseek #define SYS__newselect __NR__newselect -#define SYS_accept __NR_accept -#define SYS_access __NR_access -#define SYS_acct __NR_acct -#define SYS_bind __NR_bind -#define SYS_brk __NR_brk -#define SYS_cacheflush __NR_cacheflush +#define SYS_flock __NR_flock +#define SYS_msync __NR_msync +#define SYS_readv __NR_readv +#define SYS_writev __NR_writev + +#ifdef __arm__ +#define SYS_exit_group __NR_exit_group +#define SYS_waitid __NR_waitid +#define SYS_setuid32 __NR_setuid32 +#define SYS_getuid32 __NR_getuid32 +#define SYS_getgid32 __NR_getgid32 +#define SYS_geteuid32 __NR_geteuid32 +#define SYS_getegid32 __NR_getegid32 +#define SYS_getresuid32 __NR_getresuid32 +#define SYS_getresgid32 __NR_getresgid32 +#define SYS_gettid __NR_gettid +#define SYS_readahead __NR_readahead +#define SYS_getgroups32 __NR_getgroups32 +#define SYS_getsid __NR_getsid +#define SYS_setgid32 __NR_setgid32 +#define SYS_setreuid32 __NR_setreuid32 +#define SYS_setresuid32 __NR_setresuid32 +#define SYS_setresgid32 __NR_setresgid32 +#define SYS_ugetrlimit __NR_ugetrlimit +#define SYS_setgroups32 __NR_setgroups32 +#define SYS_vfork __NR_vfork +#define SYS_setregid32 __NR_setregid32 +#define SYS_prctl __NR_prctl #define SYS_capget __NR_capget #define SYS_capset __NR_capset -#define SYS_chdir __NR_chdir -#define SYS_chmod __NR_chmod -#define SYS_chown __NR_chown -#define SYS_chown32 __NR_chown32 -#define SYS_chroot __NR_chroot -#define SYS_clock_getres __NR_clock_getres -#define SYS_clock_gettime __NR_clock_gettime -#define SYS_clock_nanosleep __NR_clock_nanosleep -#define SYS_clock_settime __NR_clock_settime -#define SYS_clone __NR_clone -#define SYS_close __NR_close -#define SYS_connect __NR_connect -#define SYS_creat __NR_creat -#define SYS_delete_module __NR_delete_module -#define SYS_dup __NR_dup -#define SYS_dup2 __NR_dup2 -#define SYS_epoll_create __NR_epoll_create -#define SYS_epoll_ctl __NR_epoll_ctl -#define SYS_epoll_wait __NR_epoll_wait -#define SYS_eventfd2 __NR_eventfd2 -#define SYS_execve __NR_execve -#define SYS_exit __NR_exit -#define SYS_exit_group __NR_exit_group -#define SYS_faccessat __NR_faccessat -#define SYS_fchdir __NR_fchdir -#define SYS_fchmod __NR_fchmod -#define SYS_fchmodat __NR_fchmodat -#define SYS_fchown __NR_fchown -#define SYS_fchown32 __NR_fchown32 -#define SYS_fchownat __NR_fchownat -#define SYS_fcntl __NR_fcntl -#define SYS_fcntl64 __NR_fcntl64 -#define SYS_fdatasync __NR_fdatasync -#define SYS_fgetxattr __NR_fgetxattr -#define SYS_flistxattr __NR_flistxattr -#define SYS_flock __NR_flock -#define SYS_fork __NR_fork -#define SYS_fremovexattr __NR_fremovexattr -#define SYS_fsetxattr __NR_fsetxattr -#define SYS_fstat64 __NR_fstat64 -#define SYS_fstatat64 __NR_fstatat64 -#define SYS_fstatfs64 __NR_fstatfs64 -#define SYS_fsync __NR_fsync -#define SYS_ftruncate __NR_ftruncate -#define SYS_ftruncate64 __NR_ftruncate64 -#define SYS_futex __NR_futex -#define SYS_getcpu __NR_getcpu -#define SYS_getcwd __NR_getcwd -#define SYS_getdents64 __NR_getdents64 -#define SYS_getegid __NR_getegid -#define SYS_getegid32 __NR_getegid32 -#define SYS_geteuid __NR_geteuid -#define SYS_geteuid32 __NR_geteuid32 -#define SYS_getgid __NR_getgid -#define SYS_getgid32 __NR_getgid32 -#define SYS_getgroups __NR_getgroups -#define SYS_getgroups32 __NR_getgroups32 -#define SYS_getitimer __NR_getitimer -#define SYS_getpeername __NR_getpeername -#define SYS_getpgid __NR_getpgid -#define SYS_getpgrp __NR_getpgrp -#define SYS_getpid __NR_getpid -#define SYS_getppid __NR_getppid -#define SYS_getpriority __NR_getpriority -#define SYS_getresgid __NR_getresgid -#define SYS_getresgid32 __NR_getresgid32 -#define SYS_getresuid __NR_getresuid -#define SYS_getresuid32 __NR_getresuid32 -#define SYS_getrlimit __NR_getrlimit -#define SYS_getrusage __NR_getrusage -#define SYS_getsid __NR_getsid -#define SYS_getsockname __NR_getsockname -#define SYS_getsockopt __NR_getsockopt -#define SYS_gettid __NR_gettid -#define SYS_gettimeofday __NR_gettimeofday -#define SYS_getuid __NR_getuid -#define SYS_getuid32 __NR_getuid32 -#define SYS_getxattr __NR_getxattr -#define SYS_init_module __NR_init_module -#define SYS_inotify_add_watch __NR_inotify_add_watch -#define SYS_inotify_init __NR_inotify_init -#define SYS_inotify_rm_watch __NR_inotify_rm_watch -#define SYS_ioctl __NR_ioctl -#define SYS_ioprio_get __NR_ioprio_get -#define SYS_ioprio_set __NR_ioprio_set -#define SYS_kill __NR_kill -#define SYS_lchown __NR_lchown -#define SYS_lchown32 __NR_lchown32 -#define SYS_lgetxattr __NR_lgetxattr -#define SYS_link __NR_link -#define SYS_listen __NR_listen -#define SYS_listxattr __NR_listxattr -#define SYS_llistxattr __NR_llistxattr -#define SYS_lremovexattr __NR_lremovexattr -#define SYS_lseek __NR_lseek -#define SYS_lsetxattr __NR_lsetxattr -#define SYS_lstat64 __NR_lstat64 -#define SYS_madvise __NR_madvise -#define SYS_mincore __NR_mincore -#define SYS_mkdir __NR_mkdir -#define SYS_mkdirat __NR_mkdirat -#define SYS_mknod __NR_mknod -#define SYS_mlock __NR_mlock -#define SYS_mlockall __NR_mlockall -#define SYS_mmap __NR_mmap -#define SYS_mmap2 __NR_mmap2 -#define SYS_mount __NR_mount -#define SYS_mprotect __NR_mprotect -#define SYS_mremap __NR_mremap -#define SYS_msync __NR_msync -#define SYS_munlock __NR_munlock -#define SYS_munlockall __NR_munlockall -#define SYS_munmap __NR_munmap -#define SYS_nanosleep __NR_nanosleep -#define SYS_open __NR_open +#define SYS_sigaltstack __NR_sigaltstack +#define SYS_pread64 __NR_pread64 +#define SYS_pwrite64 __NR_pwrite64 #define SYS_openat __NR_openat -#define SYS_pause __NR_pause -#define SYS_perf_event_open __NR_perf_event_open -#define SYS_personality __NR_personality +#define SYS_mmap2 __NR_mmap2 +#define SYS_mremap __NR_mremap +#define SYS_madvise __NR_madvise +#define SYS_mlock __NR_mlock +#define SYS_munlock __NR_munlock +#define SYS_mlockall __NR_mlockall +#define SYS_munlockall __NR_munlockall +#define SYS_mincore __NR_mincore #define SYS_pipe __NR_pipe #define SYS_pipe2 __NR_pipe2 -#define SYS_poll __NR_poll -#define SYS_prctl __NR_prctl -#define SYS_pread64 __NR_pread64 -#define SYS_ptrace __NR_ptrace -#define SYS_pwrite64 __NR_pwrite64 -#define SYS_read __NR_read -#define SYS_readahead __NR_readahead -#define SYS_readlink __NR_readlink -#define SYS_readv __NR_readv -#define SYS_reboot __NR_reboot -#define SYS_recvfrom __NR_recvfrom -#define SYS_recvmsg __NR_recvmsg -#define SYS_removexattr __NR_removexattr -#define SYS_rename __NR_rename +#define SYS_ftruncate64 __NR_ftruncate64 +#define SYS_getdents64 __NR_getdents64 +#define SYS_fdatasync __NR_fdatasync +#define SYS_fchown32 __NR_fchown32 +#define SYS_fcntl64 __NR_fcntl64 +#define SYS_fstatfs64 __NR_fstatfs64 +#define SYS_sendfile __NR_sendfile +#define SYS_fstatat64 __NR_fstatat64 +#define SYS_mkdirat __NR_mkdirat +#define SYS_fchownat __NR_fchownat +#define SYS_fchmodat __NR_fchmodat #define SYS_renameat __NR_renameat -#define SYS_rmdir __NR_rmdir +#define SYS_fsetxattr __NR_fsetxattr +#define SYS_fgetxattr __NR_fgetxattr +#define SYS_flistxattr __NR_flistxattr +#define SYS_fremovexattr __NR_fremovexattr +#define SYS_unlinkat __NR_unlinkat +#define SYS_chown32 __NR_chown32 +#define SYS_lchown32 __NR_lchown32 +#define SYS_fstat64 __NR_fstat64 +#define SYS_stat64 __NR_stat64 +#define SYS_lstat64 __NR_lstat64 +#define SYS_getcwd __NR_getcwd +#define SYS_faccessat __NR_faccessat +#define SYS_setxattr __NR_setxattr +#define SYS_lsetxattr __NR_lsetxattr +#define SYS_getxattr __NR_getxattr +#define SYS_lgetxattr __NR_lgetxattr +#define SYS_listxattr __NR_listxattr +#define SYS_llistxattr __NR_llistxattr +#define SYS_removexattr __NR_removexattr +#define SYS_lremovexattr __NR_lremovexattr +#define SYS_statfs64 __NR_statfs64 +#define SYS_unshare __NR_unshare +#define SYS_nanosleep __NR_nanosleep +#define SYS_clock_gettime __NR_clock_gettime +#define SYS_clock_settime __NR_clock_settime +#define SYS_clock_getres __NR_clock_getres +#define SYS_clock_nanosleep __NR_clock_nanosleep +#define SYS_timer_create __NR_timer_create +#define SYS_timer_settime __NR_timer_settime +#define SYS_timer_gettime __NR_timer_gettime +#define SYS_timer_getoverrun __NR_timer_getoverrun +#define SYS_timer_delete __NR_timer_delete +#define SYS_utimes __NR_utimes +#define SYS_utimensat __NR_utimensat +#define SYS_sigsuspend __NR_sigsuspend #define SYS_rt_sigaction __NR_rt_sigaction #define SYS_rt_sigprocmask __NR_rt_sigprocmask #define SYS_rt_sigtimedwait __NR_rt_sigtimedwait +#define SYS_signalfd4 __NR_signalfd4 +#define SYS_socket __NR_socket +#define SYS_socketpair __NR_socketpair +#define SYS_bind __NR_bind +#define SYS_connect __NR_connect +#define SYS_listen __NR_listen +#define SYS_accept __NR_accept +#define SYS_getsockname __NR_getsockname +#define SYS_getpeername __NR_getpeername +#define SYS_sendto __NR_sendto +#define SYS_recvfrom __NR_recvfrom +#define SYS_shutdown __NR_shutdown +#define SYS_setsockopt __NR_setsockopt +#define SYS_getsockopt __NR_getsockopt +#define SYS_sendmsg __NR_sendmsg +#define SYS_recvmsg __NR_recvmsg +#define SYS_sched_setscheduler __NR_sched_setscheduler +#define SYS_sched_getscheduler __NR_sched_getscheduler +#define SYS_sched_yield __NR_sched_yield +#define SYS_sched_setparam __NR_sched_setparam +#define SYS_sched_getparam __NR_sched_getparam #define SYS_sched_get_priority_max __NR_sched_get_priority_max #define SYS_sched_get_priority_min __NR_sched_get_priority_min -#define SYS_sched_getaffinity __NR_sched_getaffinity -#define SYS_sched_getparam __NR_sched_getparam -#define SYS_sched_getscheduler __NR_sched_getscheduler #define SYS_sched_rr_get_interval __NR_sched_rr_get_interval #define SYS_sched_setaffinity __NR_sched_setaffinity +#define SYS_sched_getaffinity __NR_sched_getaffinity +#define SYS_getcpu __NR_getcpu +#define SYS_ioprio_set __NR_ioprio_set +#define SYS_ioprio_get __NR_ioprio_get +#define SYS_perf_event_open __NR_perf_event_open +#define SYS_futex __NR_futex +#define SYS_epoll_create __NR_epoll_create +#define SYS_epoll_ctl __NR_epoll_ctl +#define SYS_epoll_wait __NR_epoll_wait +#define SYS_inotify_init __NR_inotify_init +#define SYS_inotify_add_watch __NR_inotify_add_watch +#define SYS_inotify_rm_watch __NR_inotify_rm_watch +#define SYS_poll __NR_poll +#define SYS_eventfd2 __NR_eventfd2 +#define SYS_ARM_set_tls __NR_ARM_set_tls +#define SYS_ARM_cacheflush __NR_ARM_cacheflush +#endif + +#ifdef __i386__ +#define SYS_waitpid __NR_waitpid +#define SYS_kill __NR_kill +#define SYS_pipe __NR_pipe +#define SYS_sigsuspend __NR_sigsuspend +#define SYS_socketcall __NR_socketcall +#define SYS_getsid __NR_getsid +#define SYS_fdatasync __NR_fdatasync +#define SYS_mlock __NR_mlock +#define SYS_munlock __NR_munlock +#define SYS_mlockall __NR_mlockall +#define SYS_munlockall __NR_munlockall #define SYS_sched_setparam __NR_sched_setparam +#define SYS_sched_getparam __NR_sched_getparam #define SYS_sched_setscheduler __NR_sched_setscheduler +#define SYS_sched_getscheduler __NR_sched_getscheduler #define SYS_sched_yield __NR_sched_yield +#define SYS_sched_get_priority_max __NR_sched_get_priority_max +#define SYS_sched_get_priority_min __NR_sched_get_priority_min +#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval +#define SYS_nanosleep __NR_nanosleep +#define SYS_mremap __NR_mremap +#define SYS_poll __NR_poll +#define SYS_prctl __NR_prctl +#define SYS_rt_sigaction __NR_rt_sigaction +#define SYS_rt_sigprocmask __NR_rt_sigprocmask +#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait +#define SYS_pread64 __NR_pread64 +#define SYS_pwrite64 __NR_pwrite64 +#define SYS_getcwd __NR_getcwd +#define SYS_capget __NR_capget +#define SYS_capset __NR_capset +#define SYS_sigaltstack __NR_sigaltstack #define SYS_sendfile __NR_sendfile +#define SYS_ugetrlimit __NR_ugetrlimit +#define SYS_mmap2 __NR_mmap2 +#define SYS_ftruncate64 __NR_ftruncate64 +#define SYS_stat64 __NR_stat64 +#define SYS_lstat64 __NR_lstat64 +#define SYS_fstat64 __NR_fstat64 +#define SYS_lchown32 __NR_lchown32 +#define SYS_getuid32 __NR_getuid32 +#define SYS_getgid32 __NR_getgid32 +#define SYS_geteuid32 __NR_geteuid32 +#define SYS_getegid32 __NR_getegid32 +#define SYS_setreuid32 __NR_setreuid32 +#define SYS_setregid32 __NR_setregid32 +#define SYS_getgroups32 __NR_getgroups32 +#define SYS_setgroups32 __NR_setgroups32 +#define SYS_fchown32 __NR_fchown32 +#define SYS_setresuid32 __NR_setresuid32 +#define SYS_getresuid32 __NR_getresuid32 +#define SYS_setresgid32 __NR_setresgid32 +#define SYS_getresgid32 __NR_getresgid32 +#define SYS_chown32 __NR_chown32 +#define SYS_setuid32 __NR_setuid32 +#define SYS_setgid32 __NR_setgid32 +#define SYS_mincore __NR_mincore +#define SYS_madvise __NR_madvise +#define SYS_getdents64 __NR_getdents64 +#define SYS_fcntl64 __NR_fcntl64 +#define SYS_gettid __NR_gettid +#define SYS_readahead __NR_readahead +#define SYS_setxattr __NR_setxattr +#define SYS_lsetxattr __NR_lsetxattr +#define SYS_fsetxattr __NR_fsetxattr +#define SYS_getxattr __NR_getxattr +#define SYS_lgetxattr __NR_lgetxattr +#define SYS_fgetxattr __NR_fgetxattr +#define SYS_listxattr __NR_listxattr +#define SYS_llistxattr __NR_llistxattr +#define SYS_flistxattr __NR_flistxattr +#define SYS_removexattr __NR_removexattr +#define SYS_lremovexattr __NR_lremovexattr +#define SYS_fremovexattr __NR_fremovexattr +#define SYS_tkill __NR_tkill +#define SYS_futex __NR_futex +#define SYS_sched_setaffinity __NR_sched_setaffinity +#define SYS_sched_getaffinity __NR_sched_getaffinity +#define SYS_set_thread_area __NR_set_thread_area +#define SYS_exit_group __NR_exit_group +#define SYS_epoll_create __NR_epoll_create +#define SYS_epoll_ctl __NR_epoll_ctl +#define SYS_epoll_wait __NR_epoll_wait +#define SYS_timer_create __NR_timer_create +#define SYS_timer_settime __NR_timer_settime +#define SYS_timer_gettime __NR_timer_gettime +#define SYS_timer_getoverrun __NR_timer_getoverrun +#define SYS_timer_delete __NR_timer_delete +#define SYS_clock_settime __NR_clock_settime +#define SYS_clock_gettime __NR_clock_gettime +#define SYS_clock_getres __NR_clock_getres +#define SYS_clock_nanosleep __NR_clock_nanosleep +#define SYS_statfs64 __NR_statfs64 +#define SYS_fstatfs64 __NR_fstatfs64 +#define SYS_tgkill __NR_tgkill +#define SYS_utimes __NR_utimes +#define SYS_waitid __NR_waitid +#define SYS_ioprio_set __NR_ioprio_set +#define SYS_ioprio_get __NR_ioprio_get +#define SYS_inotify_init __NR_inotify_init +#define SYS_inotify_add_watch __NR_inotify_add_watch +#define SYS_inotify_rm_watch __NR_inotify_rm_watch +#define SYS_openat __NR_openat +#define SYS_mkdirat __NR_mkdirat +#define SYS_fchownat __NR_fchownat +#define SYS_fstatat64 __NR_fstatat64 +#define SYS_unlinkat __NR_unlinkat +#define SYS_renameat __NR_renameat +#define SYS_fchmodat __NR_fchmodat +#define SYS_faccessat __NR_faccessat +#define SYS_unshare __NR_unshare +#define SYS_getcpu __NR_getcpu +#define SYS_utimensat __NR_utimensat +#define SYS_signalfd4 __NR_signalfd4 +#define SYS_eventfd2 __NR_eventfd2 +#define SYS_pipe2 __NR_pipe2 +#define SYS_perf_event_open __NR_perf_event_open +#endif + +#ifdef __mips__ +#define SYS_syscall __NR_syscall +#define SYS_waitpid __NR_waitpid +#define SYS_lchown __NR_lchown +#define SYS_setuid __NR_setuid +#define SYS_getuid __NR_getuid +#define SYS_kill __NR_kill +#define SYS_setgid __NR_setgid +#define SYS_getgid __NR_getgid +#define SYS_geteuid __NR_geteuid +#define SYS_getegid __NR_getegid +#define SYS_setreuid __NR_setreuid +#define SYS_setregid __NR_setregid +#define SYS_sigsuspend __NR_sigsuspend +#define SYS_getrlimit __NR_getrlimit +#define SYS_getgroups __NR_getgroups +#define SYS_setgroups __NR_setgroups +#define SYS_fchown __NR_fchown +#define SYS_cacheflush __NR_cacheflush +#define SYS_getsid __NR_getsid +#define SYS_fdatasync __NR_fdatasync +#define SYS_mlock __NR_mlock +#define SYS_munlock __NR_munlock +#define SYS_mlockall __NR_mlockall +#define SYS_munlockall __NR_munlockall +#define SYS_sched_setparam __NR_sched_setparam +#define SYS_sched_getparam __NR_sched_getparam +#define SYS_sched_setscheduler __NR_sched_setscheduler +#define SYS_sched_getscheduler __NR_sched_getscheduler +#define SYS_sched_yield __NR_sched_yield +#define SYS_sched_get_priority_max __NR_sched_get_priority_max +#define SYS_sched_get_priority_min __NR_sched_get_priority_min +#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval +#define SYS_nanosleep __NR_nanosleep +#define SYS_mremap __NR_mremap +#define SYS_accept __NR_accept +#define SYS_bind __NR_bind +#define SYS_connect __NR_connect +#define SYS_getpeername __NR_getpeername +#define SYS_getsockname __NR_getsockname +#define SYS_getsockopt __NR_getsockopt +#define SYS_listen __NR_listen +#define SYS_recvfrom __NR_recvfrom +#define SYS_recvmsg __NR_recvmsg #define SYS_sendmsg __NR_sendmsg #define SYS_sendto __NR_sendto -#define SYS_set_thread_area __NR_set_thread_area -#define SYS_seteuid32 __NR_seteuid32 -#define SYS_setgid __NR_setgid -#define SYS_setgid32 __NR_setgid32 -#define SYS_setgroups __NR_setgroups -#define SYS_setgroups32 __NR_setgroups32 -#define SYS_setitimer __NR_setitimer -#define SYS_setpgid __NR_setpgid -#define SYS_setpriority __NR_setpriority -#define SYS_setregid __NR_setregid -#define SYS_setregid32 __NR_setregid32 -#define SYS_setresgid __NR_setresgid -#define SYS_setresgid32 __NR_setresgid32 -#define SYS_setresuid __NR_setresuid -#define SYS_setresuid32 __NR_setresuid32 -#define SYS_setreuid __NR_setreuid -#define SYS_setreuid32 __NR_setreuid32 -#define SYS_setrlimit __NR_setrlimit -#define SYS_setsid __NR_setsid #define SYS_setsockopt __NR_setsockopt -#define SYS_settimeofday __NR_settimeofday -#define SYS_setuid __NR_setuid -#define SYS_setuid32 __NR_setuid32 -#define SYS_setxattr __NR_setxattr #define SYS_shutdown __NR_shutdown -#define SYS_sigaction __NR_sigaction -#define SYS_sigaltstack __NR_sigaltstack -#define SYS_signalfd4 __NR_signalfd4 -#define SYS_sigpending __NR_sigpending -#define SYS_sigprocmask __NR_sigprocmask -#define SYS_sigsuspend __NR_sigsuspend #define SYS_socket __NR_socket -#define SYS_socketcall __NR_socketcall #define SYS_socketpair __NR_socketpair +#define SYS_setresuid __NR_setresuid +#define SYS_getresuid __NR_getresuid +#define SYS_poll __NR_poll +#define SYS_setresgid __NR_setresgid +#define SYS_getresgid __NR_getresgid +#define SYS_prctl __NR_prctl +#define SYS_rt_sigaction __NR_rt_sigaction +#define SYS_rt_sigprocmask __NR_rt_sigprocmask +#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait +#define SYS_pread64 __NR_pread64 +#define SYS_pwrite64 __NR_pwrite64 +#define SYS_chown __NR_chown +#define SYS_getcwd __NR_getcwd +#define SYS_capget __NR_capget +#define SYS_capset __NR_capset +#define SYS_sigaltstack __NR_sigaltstack +#define SYS_sendfile __NR_sendfile +#define SYS_mmap2 __NR_mmap2 +#define SYS_ftruncate64 __NR_ftruncate64 #define SYS_stat64 __NR_stat64 -#define SYS_statfs64 __NR_statfs64 -#define SYS_symlink __NR_symlink -#define SYS_sync __NR_sync -#define SYS_syscall __NR_syscall -#define SYS_sysinfo __NR_sysinfo -#define SYS_syslog __NR_syslog -#define SYS_tgkill __NR_tgkill -#define SYS_timer_create __NR_timer_create -#define SYS_timer_delete __NR_timer_delete -#define SYS_timer_getoverrun __NR_timer_getoverrun -#define SYS_timer_gettime __NR_timer_gettime -#define SYS_timer_settime __NR_timer_settime -#define SYS_times __NR_times +#define SYS_lstat64 __NR_lstat64 +#define SYS_fstat64 __NR_fstat64 +#define SYS_mincore __NR_mincore +#define SYS_madvise __NR_madvise +#define SYS_getdents64 __NR_getdents64 +#define SYS_fcntl64 __NR_fcntl64 +#define SYS_gettid __NR_gettid +#define SYS_readahead __NR_readahead +#define SYS_setxattr __NR_setxattr +#define SYS_lsetxattr __NR_lsetxattr +#define SYS_fsetxattr __NR_fsetxattr +#define SYS_getxattr __NR_getxattr +#define SYS_lgetxattr __NR_lgetxattr +#define SYS_fgetxattr __NR_fgetxattr +#define SYS_listxattr __NR_listxattr +#define SYS_llistxattr __NR_llistxattr +#define SYS_flistxattr __NR_flistxattr +#define SYS_removexattr __NR_removexattr +#define SYS_lremovexattr __NR_lremovexattr +#define SYS_fremovexattr __NR_fremovexattr #define SYS_tkill __NR_tkill -#define SYS_truncate __NR_truncate -#define SYS_ugetrlimit __NR_ugetrlimit -#define SYS_umask __NR_umask -#define SYS_umount __NR_umount -#define SYS_umount2 __NR_umount2 -#define SYS_uname __NR_uname -#define SYS_unlink __NR_unlink -#define SYS_unlinkat __NR_unlinkat -#define SYS_unshare __NR_unshare -#define SYS_utimensat __NR_utimensat +#define SYS_futex __NR_futex +#define SYS_sched_setaffinity __NR_sched_setaffinity +#define SYS_sched_getaffinity __NR_sched_getaffinity +#define SYS_exit_group __NR_exit_group +#define SYS_epoll_create __NR_epoll_create +#define SYS_epoll_ctl __NR_epoll_ctl +#define SYS_epoll_wait __NR_epoll_wait +#define SYS_statfs64 __NR_statfs64 +#define SYS_fstatfs64 __NR_fstatfs64 +#define SYS_timer_create __NR_timer_create +#define SYS_timer_settime __NR_timer_settime +#define SYS_timer_gettime __NR_timer_gettime +#define SYS_timer_getoverrun __NR_timer_getoverrun +#define SYS_timer_delete __NR_timer_delete +#define SYS_clock_settime __NR_clock_settime +#define SYS_clock_gettime __NR_clock_gettime +#define SYS_clock_getres __NR_clock_getres +#define SYS_clock_nanosleep __NR_clock_nanosleep +#define SYS_tgkill __NR_tgkill #define SYS_utimes __NR_utimes -#define SYS_vfork __NR_vfork -#define SYS_wait4 __NR_wait4 #define SYS_waitid __NR_waitid -#define SYS_waitpid __NR_waitpid -#define SYS_write __NR_write -#define SYS_writev __NR_writev +#define SYS_set_thread_area __NR_set_thread_area +#define SYS_inotify_init __NR_inotify_init +#define SYS_inotify_add_watch __NR_inotify_add_watch +#define SYS_inotify_rm_watch __NR_inotify_rm_watch +#define SYS_openat __NR_openat +#define SYS_mkdirat __NR_mkdirat +#define SYS_fchownat __NR_fchownat +#define SYS_fstatat64 __NR_fstatat64 +#define SYS_unlinkat __NR_unlinkat +#define SYS_renameat __NR_renameat +#define SYS_fchmodat __NR_fchmodat +#define SYS_faccessat __NR_faccessat +#define SYS_unshare __NR_unshare +#define SYS_getcpu __NR_getcpu +#define SYS_ioprio_set __NR_ioprio_set +#define SYS_ioprio_get __NR_ioprio_get +#define SYS_utimensat __NR_utimensat +#define SYS_signalfd4 __NR_signalfd4 +#define SYS_eventfd2 __NR_eventfd2 +#define SYS_pipe2 __NR_pipe2 +#define SYS_perf_event_open __NR_perf_event_open +#endif #endif diff --git a/libc/tools/gensyscalls.py b/libc/tools/gensyscalls.py index 389177e36..aaa3de343 100755 --- a/libc/tools/gensyscalls.py +++ b/libc/tools/gensyscalls.py @@ -303,27 +303,18 @@ class State: t["asm-mips"] = self.mips_genstub(syscall_func,"__NR_"+syscall_name) - def gen_NR_syscall(self, fp, name, id): - fp.write("#define __NR_%-25s (__NR_SYSCALL_BASE + %d)\n" % (name,id)) - - - def gen_glibc_syscalls_h(self): - glibc_syscalls_h_path = "include/sys/glibc-syscalls.h" - all_syscall_names = set() - for sc in self.syscalls: - all_syscall_names.add(sc["name"]) - fp = create_file(glibc_syscalls_h_path) - fp.write("/* Auto-generated by gensyscalls.py; do not edit. */\n") - fp.write("#ifndef _BIONIC_GLIBC_SYSCALLS_H_\n") - fp.write("#define _BIONIC_GLIBC_SYSCALLS_H_\n") - for syscall_name in sorted(all_syscall_names): - fp.write("#define SYS_%-25s __NR_%s\n" % (syscall_name, syscall_name)) - fp.write("#endif\n") - fp.close() - self.other_files.append(glibc_syscalls_h_path) + def gen_NR_syscall(self, glibc_fp, linux_fp, name, id): + linux_fp.write("#define __NR_%-25s (__NR_SYSCALL_BASE + %d)\n" % (name,id)) + glibc_fp.write("#define SYS_%-25s __NR_%s\n" % (name, name)) def gen_linux_syscalls_h(self): + glibc_syscalls_h_path = "include/sys/glibc-syscalls.h" + glibc_fp = create_file(glibc_syscalls_h_path) + glibc_fp.write("/* Auto-generated by gensyscalls.py; do not edit. */\n") + glibc_fp.write("#ifndef _BIONIC_GLIBC_SYSCALLS_H_\n") + glibc_fp.write("#define _BIONIC_GLIBC_SYSCALLS_H_\n") + linux_syscalls_h_path = "include/sys/linux-syscalls.h" D("generating " + linux_syscalls_h_path) fp = create_file(linux_syscalls_h_path) @@ -344,39 +335,50 @@ class State: sc_id = sc["common"] sc_name = sc["name"] if sc_id >= 0: - self.gen_NR_syscall(fp, sc_name, sc_id) + self.gen_NR_syscall(glibc_fp, fp, sc_name, sc_id) # now, all arm-specific syscalls - fp.write( "\n#ifdef __arm__\n" ); + fp.write("\n#ifdef __arm__\n") + glibc_fp.write( "\n#ifdef __arm__\n") for sc in self.syscalls: sc_id = sc["armid"] sc_name = sc["name"] if sc_id >= 0: - self.gen_NR_syscall(fp, sc_name, sc_id) - fp.write( "#endif\n" ); + self.gen_NR_syscall(glibc_fp, fp, sc_name, sc_id) + fp.write("#endif\n") + glibc_fp.write("#endif\n") gen_syscalls = {} - # finally, all i386-specific syscalls - fp.write( "\n#ifdef __i386__\n" ); + # all i386-specific syscalls + fp.write("\n#ifdef __i386__\n") + glibc_fp.write("\n#ifdef __i386__\n") for sc in sorted(self.syscalls,key=lambda x:x["x86id"]): sc_id = sc["x86id"] sc_name = sc["name"] if sc_id >= 0 and sc_name not in gen_syscalls: - self.gen_NR_syscall(fp, sc_name, sc_id) + self.gen_NR_syscall(glibc_fp, fp, sc_name, sc_id) gen_syscalls[sc_name] = True - fp.write( "#endif\n" ); + fp.write("#endif\n") + glibc_fp.write("#endif\n") # all mips-specific syscalls - fp.write( "\n#ifdef __mips__\n" ); + fp.write("\n#ifdef __mips__\n") + glibc_fp.write("\n#ifdef __mips__\n") for sc in sorted(self.syscalls,key=lambda x:x["mipsid"]): sc_id = sc["mipsid"] if sc_id >= 0: - self.gen_NR_syscall(fp, sc["name"], sc_id) + self.gen_NR_syscall(glibc_fp, fp, sc["name"], sc_id) fp.write( "#endif\n" ); + glibc_fp.write( "#endif\n" ); fp.write( "\n#endif\n" ) fp.write( "\n#endif /* _BIONIC_LINUX_SYSCALLS_H_ */\n" ); fp.close() + + glibc_fp.write("#endif\n") + glibc_fp.close() + + self.other_files.append(glibc_syscalls_h_path) self.other_files.append(linux_syscalls_h_path) @@ -448,7 +450,6 @@ class State: D( "re-generating stubs and support files" ) - self.gen_glibc_syscalls_h() self.gen_linux_syscalls_h() for arch in all_archs: self.gen_arch_syscalls_mk(arch)