From 530a6c82109cdd86816f7a234388abde40c5fe4b Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 28 Apr 2021 10:27:30 -0600 Subject: [PATCH] Update for Linux 5.12 and add linux-riscv64 platform --- src/lib.rs | 5 + src/platform/linux-aarch64/nr.rs | 24 ++- src/platform/linux-armeabi/nr.rs | 44 +++++ src/platform/linux-riscv64/mod.rs | 107 +++++++++++ src/platform/linux-riscv64/nr.rs | 302 ++++++++++++++++++++++++++++++ src/platform/linux-x86/nr.rs | 51 +++++ src/platform/linux-x86_64/nr.rs | 21 +++ tools/nr_from_src.py | 12 +- 8 files changed, 563 insertions(+), 3 deletions(-) create mode 100644 src/platform/linux-riscv64/mod.rs create mode 100644 src/platform/linux-riscv64/nr.rs diff --git a/src/lib.rs b/src/lib.rs index 2f28024..efbebc1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -52,6 +52,11 @@ pub mod platform; #[path="platform/linux-powerpc64/mod.rs"] pub mod platform; +#[cfg(all(target_os = "linux", + target_arch = "riscv64"))] +#[path="platform/linux-riscv64/mod.rs"] +pub mod platform; + #[cfg(all(target_os = "linux", target_arch = "sparc64"))] #[path="platform/linux-sparc64/mod.rs"] diff --git a/src/platform/linux-aarch64/nr.rs b/src/platform/linux-aarch64/nr.rs index 4adbd44..42a6be8 100644 --- a/src/platform/linux-aarch64/nr.rs +++ b/src/platform/linux-aarch64/nr.rs @@ -19,7 +19,9 @@ pub const CLOCK_GETTIME: usize = 113; pub const CLOCK_NANOSLEEP: usize = 115; pub const CLOCK_SETTIME: usize = 112; pub const CLONE: usize = 220; +pub const CLONE3: usize = 435; pub const CLOSE: usize = 57; +pub const CLOSE_RANGE: usize = 436; pub const CONNECT: usize = 203; pub const COPY_FILE_RANGE: usize = 285; pub const DELETE_MODULE: usize = 106; @@ -28,12 +30,14 @@ pub const DUP3: usize = 24; pub const EPOLL_CREATE1: usize = 20; pub const EPOLL_CTL: usize = 21; pub const EPOLL_PWAIT: usize = 22; +pub const EPOLL_PWAIT2: usize = 441; pub const EVENTFD2: usize = 19; pub const EXECVE: usize = 221; pub const EXECVEAT: usize = 281; pub const EXIT: usize = 93; pub const EXIT_GROUP: usize = 94; pub const FACCESSAT: usize = 48; +pub const FACCESSAT2: usize = 439; pub const FADVISE64: usize = 223; pub const FALLOCATE: usize = 47; pub const FANOTIFY_INIT: usize = 262; @@ -50,7 +54,11 @@ pub const FINIT_MODULE: usize = 273; pub const FLISTXATTR: usize = 13; pub const FLOCK: usize = 32; pub const FREMOVEXATTR: usize = 16; +pub const FSCONFIG: usize = 431; pub const FSETXATTR: usize = 7; +pub const FSMOUNT: usize = 432; +pub const FSOPEN: usize = 430; +pub const FSPICK: usize = 433; pub const FSTAT: usize = 80; pub const FSTATFS: usize = 44; pub const FSYNC: usize = 82; @@ -90,12 +98,17 @@ pub const INOTIFY_RM_WATCH: usize = 28; pub const IO_CANCEL: usize = 3; pub const IO_DESTROY: usize = 1; pub const IO_GETEVENTS: usize = 4; +pub const IO_PGETEVENTS: usize = 292; pub const IO_SETUP: usize = 0; pub const IO_SUBMIT: usize = 2; +pub const IO_URING_ENTER: usize = 426; +pub const IO_URING_REGISTER: usize = 427; +pub const IO_URING_SETUP: usize = 425; pub const IOCTL: usize = 29; pub const IOPRIO_GET: usize = 31; pub const IOPRIO_SET: usize = 30; pub const KCMP: usize = 272; +pub const KEXEC_FILE_LOAD: usize = 294; pub const KEXEC_LOAD: usize = 104; pub const KEYCTL: usize = 219; pub const KILL: usize = 129; @@ -121,6 +134,8 @@ pub const MLOCK2: usize = 284; pub const MLOCKALL: usize = 230; pub const MMAP: usize = 222; pub const MOUNT: usize = 40; +pub const MOUNT_SETATTR: usize = 442; +pub const MOVE_MOUNT: usize = 429; pub const MOVE_PAGES: usize = 239; pub const MPROTECT: usize = 226; pub const MQ_GETSETATTR: usize = 185; @@ -143,9 +158,14 @@ pub const NANOSLEEP: usize = 101; pub const NEWFSTATAT: usize = 79; pub const NFSSERVCTL: usize = 42; pub const OPEN_BY_HANDLE_AT: usize = 265; +pub const OPEN_TREE: usize = 428; pub const OPENAT: usize = 56; +pub const OPENAT2: usize = 437; pub const PERF_EVENT_OPEN: usize = 241; pub const PERSONALITY: usize = 92; +pub const PIDFD_GETFD: usize = 438; +pub const PIDFD_OPEN: usize = 434; +pub const PIDFD_SEND_SIGNAL: usize = 424; pub const PIPE2: usize = 59; pub const PIVOT_ROOT: usize = 41; pub const PKEY_ALLOC: usize = 289; @@ -157,6 +177,7 @@ pub const PREAD64: usize = 67; pub const PREADV: usize = 69; pub const PREADV2: usize = 286; pub const PRLIMIT64: usize = 261; +pub const PROCESS_MADVISE: usize = 440; pub const PROCESS_VM_READV: usize = 270; pub const PROCESS_VM_WRITEV: usize = 271; pub const PSELECT6: usize = 72; @@ -179,6 +200,7 @@ pub const RENAMEAT: usize = 38; pub const RENAMEAT2: usize = 276; pub const REQUEST_KEY: usize = 218; pub const RESTART_SYSCALL: usize = 128; +pub const RSEQ: usize = 293; pub const RT_SIGACTION: usize = 134; pub const RT_SIGPENDING: usize = 136; pub const RT_SIGPROCMASK: usize = 135; @@ -249,7 +271,7 @@ pub const SYMLINKAT: usize = 36; pub const SYNC: usize = 81; pub const SYNC_FILE_RANGE: usize = 84; pub const SYNCFS: usize = 267; -pub const SYSCALLS: usize = 292; +pub const SYSCALLS: usize = 443; pub const SYSINFO: usize = 179; pub const SYSLOG: usize = 116; pub const TEE: usize = 77; diff --git a/src/platform/linux-armeabi/nr.rs b/src/platform/linux-armeabi/nr.rs index acffc61..c1d2117 100644 --- a/src/platform/linux-armeabi/nr.rs +++ b/src/platform/linux-armeabi/nr.rs @@ -2,6 +2,7 @@ pub const ARM_BREAKPOINT: usize = 983041; pub const ARM_CACHEFLUSH: usize = 983042; +pub const ARM_GET_TLS: usize = 983046; pub const ARM_SET_TLS: usize = 983045; pub const ARM_USR26: usize = 983043; pub const ARM_USR32: usize = 983044; @@ -28,12 +29,19 @@ pub const CHOWN: usize = 182; pub const CHOWN32: usize = 212; pub const CHROOT: usize = 61; pub const CLOCK_ADJTIME: usize = 372; +pub const CLOCK_ADJTIME64: usize = 405; pub const CLOCK_GETRES: usize = 264; +pub const CLOCK_GETRES_TIME64: usize = 406; pub const CLOCK_GETTIME: usize = 263; +pub const CLOCK_GETTIME64: usize = 403; pub const CLOCK_NANOSLEEP: usize = 265; +pub const CLOCK_NANOSLEEP_TIME64: usize = 407; pub const CLOCK_SETTIME: usize = 262; +pub const CLOCK_SETTIME64: usize = 404; pub const CLONE: usize = 120; +pub const CLONE3: usize = 435; pub const CLOSE: usize = 6; +pub const CLOSE_RANGE: usize = 436; pub const CONNECT: usize = 283; pub const COPY_FILE_RANGE: usize = 391; pub const CREAT: usize = 8; @@ -45,6 +53,7 @@ pub const EPOLL_CREATE: usize = 250; pub const EPOLL_CREATE1: usize = 357; pub const EPOLL_CTL: usize = 251; pub const EPOLL_PWAIT: usize = 346; +pub const EPOLL_PWAIT2: usize = 441; pub const EPOLL_WAIT: usize = 252; pub const EVENTFD: usize = 351; pub const EVENTFD2: usize = 356; @@ -53,6 +62,7 @@ pub const EXECVEAT: usize = 387; pub const EXIT: usize = 1; pub const EXIT_GROUP: usize = 248; pub const FACCESSAT: usize = 334; +pub const FACCESSAT2: usize = 439; pub const FALLOCATE: usize = 352; pub const FANOTIFY_INIT: usize = 367; pub const FANOTIFY_MARK: usize = 368; @@ -71,7 +81,11 @@ pub const FLISTXATTR: usize = 234; pub const FLOCK: usize = 143; pub const FORK: usize = 2; pub const FREMOVEXATTR: usize = 237; +pub const FSCONFIG: usize = 431; pub const FSETXATTR: usize = 228; +pub const FSMOUNT: usize = 432; +pub const FSOPEN: usize = 430; +pub const FSPICK: usize = 433; pub const FSTAT: usize = 108; pub const FSTAT64: usize = 197; pub const FSTATAT64: usize = 327; @@ -81,6 +95,7 @@ pub const FSYNC: usize = 118; pub const FTRUNCATE: usize = 93; pub const FTRUNCATE64: usize = 194; pub const FUTEX: usize = 240; +pub const FUTEX_TIME64: usize = 422; pub const FUTIMESAT: usize = 326; pub const GET_MEMPOLICY: usize = 320; pub const GET_ROBUST_LIST: usize = 339; @@ -125,12 +140,18 @@ pub const INOTIFY_RM_WATCH: usize = 318; pub const IO_CANCEL: usize = 247; pub const IO_DESTROY: usize = 244; pub const IO_GETEVENTS: usize = 245; +pub const IO_PGETEVENTS: usize = 399; +pub const IO_PGETEVENTS_TIME64: usize = 416; pub const IO_SETUP: usize = 243; pub const IO_SUBMIT: usize = 246; +pub const IO_URING_ENTER: usize = 426; +pub const IO_URING_REGISTER: usize = 427; +pub const IO_URING_SETUP: usize = 425; pub const IOCTL: usize = 54; pub const IOPRIO_GET: usize = 315; pub const IOPRIO_SET: usize = 314; pub const KCMP: usize = 378; +pub const KEXEC_FILE_LOAD: usize = 401; pub const KEXEC_LOAD: usize = 347; pub const KEYCTL: usize = 311; pub const KILL: usize = 37; @@ -152,6 +173,7 @@ pub const MADVISE: usize = 220; pub const MBIND: usize = 319; pub const MEMBARRIER: usize = 389; pub const MEMFD_CREATE: usize = 385; +pub const MIGRATE_PAGES: usize = 400; pub const MINCORE: usize = 219; pub const MKDIR: usize = 39; pub const MKDIRAT: usize = 323; @@ -162,13 +184,17 @@ pub const MLOCK2: usize = 390; pub const MLOCKALL: usize = 152; pub const MMAP2: usize = 192; pub const MOUNT: usize = 21; +pub const MOUNT_SETATTR: usize = 442; +pub const MOVE_MOUNT: usize = 429; pub const MOVE_PAGES: usize = 344; pub const MPROTECT: usize = 125; pub const MQ_GETSETATTR: usize = 279; pub const MQ_NOTIFY: usize = 278; pub const MQ_OPEN: usize = 274; pub const MQ_TIMEDRECEIVE: usize = 277; +pub const MQ_TIMEDRECEIVE_TIME64: usize = 419; pub const MQ_TIMEDSEND: usize = 276; +pub const MQ_TIMEDSEND_TIME64: usize = 418; pub const MQ_UNLINK: usize = 275; pub const MREMAP: usize = 163; pub const MSGCTL: usize = 304; @@ -185,13 +211,18 @@ pub const NFSSERVCTL: usize = 169; pub const NICE: usize = 34; pub const OPEN: usize = 5; pub const OPEN_BY_HANDLE_AT: usize = 371; +pub const OPEN_TREE: usize = 428; pub const OPENAT: usize = 322; +pub const OPENAT2: usize = 437; pub const PAUSE: usize = 29; pub const PCICONFIG_IOBASE: usize = 271; pub const PCICONFIG_READ: usize = 272; pub const PCICONFIG_WRITE: usize = 273; pub const PERF_EVENT_OPEN: usize = 364; pub const PERSONALITY: usize = 136; +pub const PIDFD_GETFD: usize = 438; +pub const PIDFD_OPEN: usize = 434; +pub const PIDFD_SEND_SIGNAL: usize = 424; pub const PIPE: usize = 42; pub const PIPE2: usize = 359; pub const PIVOT_ROOT: usize = 218; @@ -200,14 +231,17 @@ pub const PKEY_FREE: usize = 396; pub const PKEY_MPROTECT: usize = 394; pub const POLL: usize = 168; pub const PPOLL: usize = 336; +pub const PPOLL_TIME64: usize = 414; pub const PRCTL: usize = 172; pub const PREAD64: usize = 180; pub const PREADV: usize = 361; pub const PREADV2: usize = 392; pub const PRLIMIT64: usize = 369; +pub const PROCESS_MADVISE: usize = 440; pub const PROCESS_VM_READV: usize = 376; pub const PROCESS_VM_WRITEV: usize = 377; pub const PSELECT6: usize = 335; +pub const PSELECT6_TIME64: usize = 413; pub const PTRACE: usize = 26; pub const PWRITE64: usize = 181; pub const PWRITEV: usize = 362; @@ -222,6 +256,7 @@ pub const REBOOT: usize = 88; pub const RECV: usize = 291; pub const RECVFROM: usize = 292; pub const RECVMMSG: usize = 365; +pub const RECVMMSG_TIME64: usize = 417; pub const RECVMSG: usize = 297; pub const REMAP_FILE_PAGES: usize = 253; pub const REMOVEXATTR: usize = 235; @@ -231,6 +266,7 @@ pub const RENAMEAT2: usize = 382; pub const REQUEST_KEY: usize = 310; pub const RESTART_SYSCALL: usize = 0; pub const RMDIR: usize = 40; +pub const RSEQ: usize = 398; pub const RT_SIGACTION: usize = 174; pub const RT_SIGPENDING: usize = 176; pub const RT_SIGPROCMASK: usize = 175; @@ -238,6 +274,7 @@ pub const RT_SIGQUEUEINFO: usize = 178; pub const RT_SIGRETURN: usize = 173; pub const RT_SIGSUSPEND: usize = 179; pub const RT_SIGTIMEDWAIT: usize = 177; +pub const RT_SIGTIMEDWAIT_TIME64: usize = 421; pub const RT_TGSIGQUEUEINFO: usize = 363; pub const SCHED_GET_PRIORITY_MAX: usize = 159; pub const SCHED_GET_PRIORITY_MIN: usize = 160; @@ -246,6 +283,7 @@ pub const SCHED_GETATTR: usize = 381; pub const SCHED_GETPARAM: usize = 155; pub const SCHED_GETSCHEDULER: usize = 157; pub const SCHED_RR_GET_INTERVAL: usize = 161; +pub const SCHED_RR_GET_INTERVAL_TIME64: usize = 423; pub const SCHED_SETAFFINITY: usize = 241; pub const SCHED_SETATTR: usize = 380; pub const SCHED_SETPARAM: usize = 154; @@ -256,6 +294,7 @@ pub const SEMCTL: usize = 300; pub const SEMGET: usize = 299; pub const SEMOP: usize = 298; pub const SEMTIMEDOP: usize = 312; +pub const SEMTIMEDOP_TIME64: usize = 420; pub const SEND: usize = 289; pub const SENDFILE: usize = 187; pub const SENDFILE64: usize = 239; @@ -330,10 +369,14 @@ pub const TIMER_CREATE: usize = 257; pub const TIMER_DELETE: usize = 261; pub const TIMER_GETOVERRUN: usize = 260; pub const TIMER_GETTIME: usize = 259; +pub const TIMER_GETTIME64: usize = 408; pub const TIMER_SETTIME: usize = 258; +pub const TIMER_SETTIME64: usize = 409; pub const TIMERFD_CREATE: usize = 350; pub const TIMERFD_GETTIME: usize = 354; +pub const TIMERFD_GETTIME64: usize = 410; pub const TIMERFD_SETTIME: usize = 353; +pub const TIMERFD_SETTIME64: usize = 411; pub const TIMES: usize = 43; pub const TKILL: usize = 238; pub const TRUNCATE: usize = 92; @@ -349,6 +392,7 @@ pub const USELIB: usize = 86; pub const USERFAULTFD: usize = 388; pub const USTAT: usize = 62; pub const UTIMENSAT: usize = 348; +pub const UTIMENSAT_TIME64: usize = 412; pub const UTIMES: usize = 269; pub const VFORK: usize = 190; pub const VHANGUP: usize = 111; diff --git a/src/platform/linux-riscv64/mod.rs b/src/platform/linux-riscv64/mod.rs new file mode 100644 index 0000000..ac7a621 --- /dev/null +++ b/src/platform/linux-riscv64/mod.rs @@ -0,0 +1,107 @@ +// Copyright 2017 The syscall.rs Project Developers. See the +// COPYRIGHT file at the top-level directory of this distribution. +// +// Licensed under the Apache License, Veecxon 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except accoebxng to those terms. + +//! This library was built for aarch64 Linux. + +pub mod nr; + +#[inline(always)] +pub unsafe fn syscall0(n: usize) -> usize { + let ret: usize; + llvm_asm!("ecall" + : "={x10}"(ret) + : "{x17}"(n) + : "memory" "cc" + : "volatile"); + ret +} + +#[inline(always)] +pub unsafe fn syscall1(n: usize, a1: usize) -> usize { + let ret: usize; + llvm_asm!("ecall" + : "={x10}"(ret) + : "{x17}"(n) "{x10}"(a1) + : "memory" "cc" + : "volatile"); + ret +} + +#[inline(always)] +pub unsafe fn syscall2(n: usize, a1: usize, a2: usize) -> usize { + let ret: usize; + llvm_asm!("ecall" + : "={x10}"(ret) + : "{x17}"(n) "{x10}"(a1) "{x11}"(a2) + : "memory" "cc" + : "volatile"); + ret +} + +#[inline(always)] +pub unsafe fn syscall3(n: usize, a1: usize, a2: usize, a3: usize) -> usize { + let ret: usize; + llvm_asm!("ecall" + : "={x10}"(ret) + : "{x17}"(n) "{x10}"(a1) "{x11}"(a2) "{x12}"(a3) + : "memory" "cc" + : "volatile"); + ret +} + +#[inline(always)] +pub unsafe fn syscall4(n: usize, + a1: usize, + a2: usize, + a3: usize, + a4: usize) + -> usize { + let ret: usize; + llvm_asm!("ecall" + : "={x10}"(ret) + : "{x17}"(n) "{x10}"(a1) "{x11}"(a2) "{x12}"(a3) "{x13}"(a4) + : "memory" "cc" + : "volatile"); + ret +} + +#[inline(always)] +pub unsafe fn syscall5(n: usize, + a1: usize, + a2: usize, + a3: usize, + a4: usize, + a5: usize) + -> usize { + let ret: usize; + llvm_asm!("ecall" : "={x10}"(ret) + : "{x17}"(n) "{x10}"(a1) "{x11}"(a2) "{x12}"(a3) "{x13}"(a4) "{x14}"(a5) + : "memory" "cc" + : "volatile"); + ret +} + +#[inline(always)] +pub unsafe fn syscall6(n: usize, + a1: usize, + a2: usize, + a3: usize, + a4: usize, + a5: usize, + a6: usize) + -> usize { + let ret: usize; + llvm_asm!("ecall" + : "={x10}"(ret) + : "{x17}"(n) "{x10}"(a1) "{x11}"(a2) "{x12}"(a3) "{x13}"(a4) "{x14}"(a5) + "{x15}"(a6) + : "memory" "cc" + : "volatile"); + ret +} diff --git a/src/platform/linux-riscv64/nr.rs b/src/platform/linux-riscv64/nr.rs new file mode 100644 index 0000000..bae3972 --- /dev/null +++ b/src/platform/linux-riscv64/nr.rs @@ -0,0 +1,302 @@ +/* automatically generated by nr_from_src.py */ + +pub const ACCEPT: usize = 202; +pub const ACCEPT4: usize = 242; +pub const ACCT: usize = 89; +pub const ADD_KEY: usize = 217; +pub const ADJTIMEX: usize = 171; +pub const ARCH_SPECIFIC_SYSCALL: usize = 244; +pub const BIND: usize = 200; +pub const BPF: usize = 280; +pub const BRK: usize = 214; +pub const CAPGET: usize = 90; +pub const CAPSET: usize = 91; +pub const CHDIR: usize = 49; +pub const CHROOT: usize = 51; +pub const CLOCK_ADJTIME: usize = 266; +pub const CLOCK_GETRES: usize = 114; +pub const CLOCK_GETTIME: usize = 113; +pub const CLOCK_NANOSLEEP: usize = 115; +pub const CLOCK_SETTIME: usize = 112; +pub const CLONE: usize = 220; +pub const CLONE3: usize = 435; +pub const CLOSE: usize = 57; +pub const CLOSE_RANGE: usize = 436; +pub const CONNECT: usize = 203; +pub const COPY_FILE_RANGE: usize = 285; +pub const DELETE_MODULE: usize = 106; +pub const DUP: usize = 23; +pub const DUP3: usize = 24; +pub const EPOLL_CREATE1: usize = 20; +pub const EPOLL_CTL: usize = 21; +pub const EPOLL_PWAIT: usize = 22; +pub const EPOLL_PWAIT2: usize = 441; +pub const EVENTFD2: usize = 19; +pub const EXECVE: usize = 221; +pub const EXECVEAT: usize = 281; +pub const EXIT: usize = 93; +pub const EXIT_GROUP: usize = 94; +pub const FACCESSAT: usize = 48; +pub const FACCESSAT2: usize = 439; +pub const FADVISE64: usize = 223; +pub const FALLOCATE: usize = 47; +pub const FANOTIFY_INIT: usize = 262; +pub const FANOTIFY_MARK: usize = 263; +pub const FCHDIR: usize = 50; +pub const FCHMOD: usize = 52; +pub const FCHMODAT: usize = 53; +pub const FCHOWN: usize = 55; +pub const FCHOWNAT: usize = 54; +pub const FCNTL: usize = 25; +pub const FDATASYNC: usize = 83; +pub const FGETXATTR: usize = 10; +pub const FINIT_MODULE: usize = 273; +pub const FLISTXATTR: usize = 13; +pub const FLOCK: usize = 32; +pub const FREMOVEXATTR: usize = 16; +pub const FSCONFIG: usize = 431; +pub const FSETXATTR: usize = 7; +pub const FSMOUNT: usize = 432; +pub const FSOPEN: usize = 430; +pub const FSPICK: usize = 433; +pub const FSTAT: usize = 80; +pub const FSTATFS: usize = 44; +pub const FSYNC: usize = 82; +pub const FTRUNCATE: usize = 46; +pub const FUTEX: usize = 98; +pub const GET_MEMPOLICY: usize = 236; +pub const GET_ROBUST_LIST: usize = 100; +pub const GETCPU: usize = 168; +pub const GETCWD: usize = 17; +pub const GETDENTS64: usize = 61; +pub const GETEGID: usize = 177; +pub const GETEUID: usize = 175; +pub const GETGID: usize = 176; +pub const GETGROUPS: usize = 158; +pub const GETITIMER: usize = 102; +pub const GETPEERNAME: usize = 205; +pub const GETPGID: usize = 155; +pub const GETPID: usize = 172; +pub const GETPPID: usize = 173; +pub const GETPRIORITY: usize = 141; +pub const GETRANDOM: usize = 278; +pub const GETRESGID: usize = 150; +pub const GETRESUID: usize = 148; +pub const GETRLIMIT: usize = 163; +pub const GETRUSAGE: usize = 165; +pub const GETSID: usize = 156; +pub const GETSOCKNAME: usize = 204; +pub const GETSOCKOPT: usize = 209; +pub const GETTID: usize = 178; +pub const GETTIMEOFDAY: usize = 169; +pub const GETUID: usize = 174; +pub const GETXATTR: usize = 8; +pub const INIT_MODULE: usize = 105; +pub const INOTIFY_ADD_WATCH: usize = 27; +pub const INOTIFY_INIT1: usize = 26; +pub const INOTIFY_RM_WATCH: usize = 28; +pub const IO_CANCEL: usize = 3; +pub const IO_DESTROY: usize = 1; +pub const IO_GETEVENTS: usize = 4; +pub const IO_PGETEVENTS: usize = 292; +pub const IO_SETUP: usize = 0; +pub const IO_SUBMIT: usize = 2; +pub const IO_URING_ENTER: usize = 426; +pub const IO_URING_REGISTER: usize = 427; +pub const IO_URING_SETUP: usize = 425; +pub const IOCTL: usize = 29; +pub const IOPRIO_GET: usize = 31; +pub const IOPRIO_SET: usize = 30; +pub const KCMP: usize = 272; +pub const KEXEC_FILE_LOAD: usize = 294; +pub const KEXEC_LOAD: usize = 104; +pub const KEYCTL: usize = 219; +pub const KILL: usize = 129; +pub const LGETXATTR: usize = 9; +pub const LINKAT: usize = 37; +pub const LISTEN: usize = 201; +pub const LISTXATTR: usize = 11; +pub const LLISTXATTR: usize = 12; +pub const LOOKUP_DCOOKIE: usize = 18; +pub const LREMOVEXATTR: usize = 15; +pub const LSEEK: usize = 62; +pub const LSETXATTR: usize = 6; +pub const MADVISE: usize = 233; +pub const MBIND: usize = 235; +pub const MEMBARRIER: usize = 283; +pub const MEMFD_CREATE: usize = 279; +pub const MIGRATE_PAGES: usize = 238; +pub const MINCORE: usize = 232; +pub const MKDIRAT: usize = 34; +pub const MKNODAT: usize = 33; +pub const MLOCK: usize = 228; +pub const MLOCK2: usize = 284; +pub const MLOCKALL: usize = 230; +pub const MMAP: usize = 222; +pub const MOUNT: usize = 40; +pub const MOUNT_SETATTR: usize = 442; +pub const MOVE_MOUNT: usize = 429; +pub const MOVE_PAGES: usize = 239; +pub const MPROTECT: usize = 226; +pub const MQ_GETSETATTR: usize = 185; +pub const MQ_NOTIFY: usize = 184; +pub const MQ_OPEN: usize = 180; +pub const MQ_TIMEDRECEIVE: usize = 183; +pub const MQ_TIMEDSEND: usize = 182; +pub const MQ_UNLINK: usize = 181; +pub const MREMAP: usize = 216; +pub const MSGCTL: usize = 187; +pub const MSGGET: usize = 186; +pub const MSGRCV: usize = 188; +pub const MSGSND: usize = 189; +pub const MSYNC: usize = 227; +pub const MUNLOCK: usize = 229; +pub const MUNLOCKALL: usize = 231; +pub const MUNMAP: usize = 215; +pub const NAME_TO_HANDLE_AT: usize = 264; +pub const NANOSLEEP: usize = 101; +pub const NEWFSTATAT: usize = 79; +pub const NFSSERVCTL: usize = 42; +pub const OPEN_BY_HANDLE_AT: usize = 265; +pub const OPEN_TREE: usize = 428; +pub const OPENAT: usize = 56; +pub const OPENAT2: usize = 437; +pub const PERF_EVENT_OPEN: usize = 241; +pub const PERSONALITY: usize = 92; +pub const PIDFD_GETFD: usize = 438; +pub const PIDFD_OPEN: usize = 434; +pub const PIDFD_SEND_SIGNAL: usize = 424; +pub const PIPE2: usize = 59; +pub const PIVOT_ROOT: usize = 41; +pub const PKEY_ALLOC: usize = 289; +pub const PKEY_FREE: usize = 290; +pub const PKEY_MPROTECT: usize = 288; +pub const PPOLL: usize = 73; +pub const PRCTL: usize = 167; +pub const PREAD64: usize = 67; +pub const PREADV: usize = 69; +pub const PREADV2: usize = 286; +pub const PRLIMIT64: usize = 261; +pub const PROCESS_MADVISE: usize = 440; +pub const PROCESS_VM_READV: usize = 270; +pub const PROCESS_VM_WRITEV: usize = 271; +pub const PSELECT6: usize = 72; +pub const PTRACE: usize = 117; +pub const PWRITE64: usize = 68; +pub const PWRITEV: usize = 70; +pub const PWRITEV2: usize = 287; +pub const QUOTACTL: usize = 60; +pub const READ: usize = 63; +pub const READAHEAD: usize = 213; +pub const READLINKAT: usize = 78; +pub const READV: usize = 65; +pub const REBOOT: usize = 142; +pub const RECVFROM: usize = 207; +pub const RECVMMSG: usize = 243; +pub const RECVMSG: usize = 212; +pub const REMAP_FILE_PAGES: usize = 234; +pub const REMOVEXATTR: usize = 14; +pub const RENAMEAT2: usize = 276; +pub const REQUEST_KEY: usize = 218; +pub const RESTART_SYSCALL: usize = 128; +pub const RISCV_FLUSH_ICACHE: usize = 259; +pub const RSEQ: usize = 293; +pub const RT_SIGACTION: usize = 134; +pub const RT_SIGPENDING: usize = 136; +pub const RT_SIGPROCMASK: usize = 135; +pub const RT_SIGQUEUEINFO: usize = 138; +pub const RT_SIGRETURN: usize = 139; +pub const RT_SIGSUSPEND: usize = 133; +pub const RT_SIGTIMEDWAIT: usize = 137; +pub const RT_TGSIGQUEUEINFO: usize = 240; +pub const SCHED_GET_PRIORITY_MAX: usize = 125; +pub const SCHED_GET_PRIORITY_MIN: usize = 126; +pub const SCHED_GETAFFINITY: usize = 123; +pub const SCHED_GETATTR: usize = 275; +pub const SCHED_GETPARAM: usize = 121; +pub const SCHED_GETSCHEDULER: usize = 120; +pub const SCHED_RR_GET_INTERVAL: usize = 127; +pub const SCHED_SETAFFINITY: usize = 122; +pub const SCHED_SETATTR: usize = 274; +pub const SCHED_SETPARAM: usize = 118; +pub const SCHED_SETSCHEDULER: usize = 119; +pub const SCHED_YIELD: usize = 124; +pub const SECCOMP: usize = 277; +pub const SEMCTL: usize = 191; +pub const SEMGET: usize = 190; +pub const SEMOP: usize = 193; +pub const SEMTIMEDOP: usize = 192; +pub const SENDFILE: usize = 71; +pub const SENDMMSG: usize = 269; +pub const SENDMSG: usize = 211; +pub const SENDTO: usize = 206; +pub const SET_MEMPOLICY: usize = 237; +pub const SET_ROBUST_LIST: usize = 99; +pub const SET_TID_ADDRESS: usize = 96; +pub const SETDOMAINNAME: usize = 162; +pub const SETFSGID: usize = 152; +pub const SETFSUID: usize = 151; +pub const SETGID: usize = 144; +pub const SETGROUPS: usize = 159; +pub const SETHOSTNAME: usize = 161; +pub const SETITIMER: usize = 103; +pub const SETNS: usize = 268; +pub const SETPGID: usize = 154; +pub const SETPRIORITY: usize = 140; +pub const SETREGID: usize = 143; +pub const SETRESGID: usize = 149; +pub const SETRESUID: usize = 147; +pub const SETREUID: usize = 145; +pub const SETRLIMIT: usize = 164; +pub const SETSID: usize = 157; +pub const SETSOCKOPT: usize = 208; +pub const SETTIMEOFDAY: usize = 170; +pub const SETUID: usize = 146; +pub const SETXATTR: usize = 5; +pub const SHMAT: usize = 196; +pub const SHMCTL: usize = 195; +pub const SHMDT: usize = 197; +pub const SHMGET: usize = 194; +pub const SHUTDOWN: usize = 210; +pub const SIGALTSTACK: usize = 132; +pub const SIGNALFD4: usize = 74; +pub const SOCKET: usize = 198; +pub const SOCKETPAIR: usize = 199; +pub const SPLICE: usize = 76; +pub const STATFS: usize = 43; +pub const STATX: usize = 291; +pub const SWAPOFF: usize = 225; +pub const SWAPON: usize = 224; +pub const SYMLINKAT: usize = 36; +pub const SYNC: usize = 81; +pub const SYNC_FILE_RANGE: usize = 84; +pub const SYNCFS: usize = 267; +pub const SYSCALLS: usize = 443; +pub const SYSINFO: usize = 179; +pub const SYSLOG: usize = 116; +pub const TEE: usize = 77; +pub const TGKILL: usize = 131; +pub const TIMER_CREATE: usize = 107; +pub const TIMER_DELETE: usize = 111; +pub const TIMER_GETOVERRUN: usize = 109; +pub const TIMER_GETTIME: usize = 108; +pub const TIMER_SETTIME: usize = 110; +pub const TIMERFD_CREATE: usize = 85; +pub const TIMERFD_GETTIME: usize = 87; +pub const TIMERFD_SETTIME: usize = 86; +pub const TIMES: usize = 153; +pub const TKILL: usize = 130; +pub const TRUNCATE: usize = 45; +pub const UMASK: usize = 166; +pub const UMOUNT2: usize = 39; +pub const UNAME: usize = 160; +pub const UNLINKAT: usize = 35; +pub const UNSHARE: usize = 97; +pub const USERFAULTFD: usize = 282; +pub const UTIMENSAT: usize = 88; +pub const VHANGUP: usize = 58; +pub const VMSPLICE: usize = 75; +pub const WAIT4: usize = 260; +pub const WAITID: usize = 95; +pub const WRITE: usize = 64; +pub const WRITEV: usize = 66; diff --git a/src/platform/linux-x86/nr.rs b/src/platform/linux-x86/nr.rs index 924d829..3020ccc 100644 --- a/src/platform/linux-x86/nr.rs +++ b/src/platform/linux-x86/nr.rs @@ -24,12 +24,19 @@ pub const CHOWN: usize = 182; pub const CHOWN32: usize = 212; pub const CHROOT: usize = 61; pub const CLOCK_ADJTIME: usize = 343; +pub const CLOCK_ADJTIME64: usize = 405; pub const CLOCK_GETRES: usize = 266; +pub const CLOCK_GETRES_TIME64: usize = 406; pub const CLOCK_GETTIME: usize = 265; +pub const CLOCK_GETTIME64: usize = 403; pub const CLOCK_NANOSLEEP: usize = 267; +pub const CLOCK_NANOSLEEP_TIME64: usize = 407; pub const CLOCK_SETTIME: usize = 264; +pub const CLOCK_SETTIME64: usize = 404; pub const CLONE: usize = 120; +pub const CLONE3: usize = 435; pub const CLOSE: usize = 6; +pub const CLOSE_RANGE: usize = 436; pub const CONNECT: usize = 362; pub const COPY_FILE_RANGE: usize = 377; pub const CREAT: usize = 8; @@ -42,6 +49,7 @@ pub const EPOLL_CREATE: usize = 254; pub const EPOLL_CREATE1: usize = 329; pub const EPOLL_CTL: usize = 255; pub const EPOLL_PWAIT: usize = 319; +pub const EPOLL_PWAIT2: usize = 441; pub const EPOLL_WAIT: usize = 256; pub const EVENTFD: usize = 323; pub const EVENTFD2: usize = 328; @@ -50,6 +58,7 @@ pub const EXECVEAT: usize = 358; pub const EXIT: usize = 1; pub const EXIT_GROUP: usize = 252; pub const FACCESSAT: usize = 307; +pub const FACCESSAT2: usize = 439; pub const FADVISE64: usize = 250; pub const FADVISE64_64: usize = 272; pub const FALLOCATE: usize = 324; @@ -70,7 +79,11 @@ pub const FLISTXATTR: usize = 234; pub const FLOCK: usize = 143; pub const FORK: usize = 2; pub const FREMOVEXATTR: usize = 237; +pub const FSCONFIG: usize = 431; pub const FSETXATTR: usize = 228; +pub const FSMOUNT: usize = 432; +pub const FSOPEN: usize = 430; +pub const FSPICK: usize = 433; pub const FSTAT: usize = 108; pub const FSTAT64: usize = 197; pub const FSTATAT64: usize = 300; @@ -81,6 +94,7 @@ pub const FTIME: usize = 35; pub const FTRUNCATE: usize = 93; pub const FTRUNCATE64: usize = 194; pub const FUTEX: usize = 240; +pub const FUTEX_TIME64: usize = 422; pub const FUTIMESAT: usize = 299; pub const GET_KERNEL_SYMS: usize = 130; pub const GET_MEMPOLICY: usize = 275; @@ -131,8 +145,13 @@ pub const INOTIFY_RM_WATCH: usize = 293; pub const IO_CANCEL: usize = 249; pub const IO_DESTROY: usize = 246; pub const IO_GETEVENTS: usize = 247; +pub const IO_PGETEVENTS: usize = 385; +pub const IO_PGETEVENTS_TIME64: usize = 416; pub const IO_SETUP: usize = 245; pub const IO_SUBMIT: usize = 248; +pub const IO_URING_ENTER: usize = 426; +pub const IO_URING_REGISTER: usize = 427; +pub const IO_URING_SETUP: usize = 425; pub const IOCTL: usize = 54; pub const IOPERM: usize = 101; pub const IOPL: usize = 110; @@ -175,6 +194,8 @@ pub const MMAP: usize = 90; pub const MMAP2: usize = 192; pub const MODIFY_LDT: usize = 123; pub const MOUNT: usize = 21; +pub const MOUNT_SETATTR: usize = 442; +pub const MOVE_MOUNT: usize = 429; pub const MOVE_PAGES: usize = 317; pub const MPROTECT: usize = 125; pub const MPX: usize = 56; @@ -182,9 +203,15 @@ pub const MQ_GETSETATTR: usize = 282; pub const MQ_NOTIFY: usize = 281; pub const MQ_OPEN: usize = 277; pub const MQ_TIMEDRECEIVE: usize = 280; +pub const MQ_TIMEDRECEIVE_TIME64: usize = 419; pub const MQ_TIMEDSEND: usize = 279; +pub const MQ_TIMEDSEND_TIME64: usize = 418; pub const MQ_UNLINK: usize = 278; pub const MREMAP: usize = 163; +pub const MSGCTL: usize = 402; +pub const MSGGET: usize = 399; +pub const MSGRCV: usize = 401; +pub const MSGSND: usize = 400; pub const MSYNC: usize = 144; pub const MUNLOCK: usize = 151; pub const MUNLOCKALL: usize = 153; @@ -200,10 +227,15 @@ pub const OLDSTAT: usize = 18; pub const OLDUNAME: usize = 109; pub const OPEN: usize = 5; pub const OPEN_BY_HANDLE_AT: usize = 342; +pub const OPEN_TREE: usize = 428; pub const OPENAT: usize = 295; +pub const OPENAT2: usize = 437; pub const PAUSE: usize = 29; pub const PERF_EVENT_OPEN: usize = 336; pub const PERSONALITY: usize = 136; +pub const PIDFD_GETFD: usize = 438; +pub const PIDFD_OPEN: usize = 434; +pub const PIDFD_SEND_SIGNAL: usize = 424; pub const PIPE: usize = 42; pub const PIPE2: usize = 331; pub const PIVOT_ROOT: usize = 217; @@ -212,16 +244,19 @@ pub const PKEY_FREE: usize = 382; pub const PKEY_MPROTECT: usize = 380; pub const POLL: usize = 168; pub const PPOLL: usize = 309; +pub const PPOLL_TIME64: usize = 414; pub const PRCTL: usize = 172; pub const PREAD64: usize = 180; pub const PREADV: usize = 333; pub const PREADV2: usize = 378; pub const PRLIMIT64: usize = 340; +pub const PROCESS_MADVISE: usize = 440; pub const PROCESS_VM_READV: usize = 347; pub const PROCESS_VM_WRITEV: usize = 348; pub const PROF: usize = 44; pub const PROFIL: usize = 98; pub const PSELECT6: usize = 308; +pub const PSELECT6_TIME64: usize = 413; pub const PTRACE: usize = 26; pub const PUTPMSG: usize = 189; pub const PWRITE64: usize = 181; @@ -238,6 +273,7 @@ pub const READV: usize = 145; pub const REBOOT: usize = 88; pub const RECVFROM: usize = 371; pub const RECVMMSG: usize = 337; +pub const RECVMMSG_TIME64: usize = 417; pub const RECVMSG: usize = 372; pub const REMAP_FILE_PAGES: usize = 257; pub const REMOVEXATTR: usize = 235; @@ -247,6 +283,7 @@ pub const RENAMEAT2: usize = 353; pub const REQUEST_KEY: usize = 287; pub const RESTART_SYSCALL: usize = 0; pub const RMDIR: usize = 40; +pub const RSEQ: usize = 386; pub const RT_SIGACTION: usize = 174; pub const RT_SIGPENDING: usize = 176; pub const RT_SIGPROCMASK: usize = 175; @@ -254,6 +291,7 @@ pub const RT_SIGQUEUEINFO: usize = 178; pub const RT_SIGRETURN: usize = 173; pub const RT_SIGSUSPEND: usize = 179; pub const RT_SIGTIMEDWAIT: usize = 177; +pub const RT_SIGTIMEDWAIT_TIME64: usize = 421; pub const RT_TGSIGQUEUEINFO: usize = 335; pub const SCHED_GET_PRIORITY_MAX: usize = 159; pub const SCHED_GET_PRIORITY_MIN: usize = 160; @@ -262,6 +300,7 @@ pub const SCHED_GETATTR: usize = 352; pub const SCHED_GETPARAM: usize = 155; pub const SCHED_GETSCHEDULER: usize = 157; pub const SCHED_RR_GET_INTERVAL: usize = 161; +pub const SCHED_RR_GET_INTERVAL_TIME64: usize = 423; pub const SCHED_SETAFFINITY: usize = 241; pub const SCHED_SETATTR: usize = 351; pub const SCHED_SETPARAM: usize = 154; @@ -269,6 +308,9 @@ pub const SCHED_SETSCHEDULER: usize = 156; pub const SCHED_YIELD: usize = 158; pub const SECCOMP: usize = 354; pub const SELECT: usize = 82; +pub const SEMCTL: usize = 394; +pub const SEMGET: usize = 393; +pub const SEMTIMEDOP_TIME64: usize = 420; pub const SENDFILE: usize = 187; pub const SENDFILE64: usize = 239; pub const SENDMMSG: usize = 345; @@ -308,6 +350,10 @@ pub const SETUID: usize = 23; pub const SETUID32: usize = 213; pub const SETXATTR: usize = 226; pub const SGETMASK: usize = 68; +pub const SHMAT: usize = 397; +pub const SHMCTL: usize = 396; +pub const SHMDT: usize = 398; +pub const SHMGET: usize = 395; pub const SHUTDOWN: usize = 373; pub const SIGACTION: usize = 67; pub const SIGALTSTACK: usize = 186; @@ -347,10 +393,14 @@ pub const TIMER_CREATE: usize = 259; pub const TIMER_DELETE: usize = 263; pub const TIMER_GETOVERRUN: usize = 262; pub const TIMER_GETTIME: usize = 261; +pub const TIMER_GETTIME64: usize = 408; pub const TIMER_SETTIME: usize = 260; +pub const TIMER_SETTIME64: usize = 409; pub const TIMERFD_CREATE: usize = 322; pub const TIMERFD_GETTIME: usize = 326; +pub const TIMERFD_GETTIME64: usize = 410; pub const TIMERFD_SETTIME: usize = 325; +pub const TIMERFD_SETTIME64: usize = 411; pub const TIMES: usize = 43; pub const TKILL: usize = 238; pub const TRUNCATE: usize = 92; @@ -369,6 +419,7 @@ pub const USERFAULTFD: usize = 374; pub const USTAT: usize = 62; pub const UTIME: usize = 30; pub const UTIMENSAT: usize = 320; +pub const UTIMENSAT_TIME64: usize = 412; pub const UTIMES: usize = 271; pub const VFORK: usize = 190; pub const VHANGUP: usize = 111; diff --git a/src/platform/linux-x86_64/nr.rs b/src/platform/linux-x86_64/nr.rs index 88c7c1f..3cd6b25 100644 --- a/src/platform/linux-x86_64/nr.rs +++ b/src/platform/linux-x86_64/nr.rs @@ -25,7 +25,9 @@ pub const CLOCK_GETTIME: usize = 228; pub const CLOCK_NANOSLEEP: usize = 230; pub const CLOCK_SETTIME: usize = 227; pub const CLONE: usize = 56; +pub const CLONE3: usize = 435; pub const CLOSE: usize = 3; +pub const CLOSE_RANGE: usize = 436; pub const CONNECT: usize = 42; pub const COPY_FILE_RANGE: usize = 326; pub const CREAT: usize = 85; @@ -39,6 +41,7 @@ pub const EPOLL_CREATE1: usize = 291; pub const EPOLL_CTL: usize = 233; pub const EPOLL_CTL_OLD: usize = 214; pub const EPOLL_PWAIT: usize = 281; +pub const EPOLL_PWAIT2: usize = 441; pub const EPOLL_WAIT: usize = 232; pub const EPOLL_WAIT_OLD: usize = 215; pub const EVENTFD: usize = 284; @@ -48,6 +51,7 @@ pub const EXECVEAT: usize = 322; pub const EXIT: usize = 60; pub const EXIT_GROUP: usize = 231; pub const FACCESSAT: usize = 269; +pub const FACCESSAT2: usize = 439; pub const FADVISE64: usize = 221; pub const FALLOCATE: usize = 285; pub const FANOTIFY_INIT: usize = 300; @@ -65,7 +69,11 @@ pub const FLISTXATTR: usize = 196; pub const FLOCK: usize = 73; pub const FORK: usize = 57; pub const FREMOVEXATTR: usize = 199; +pub const FSCONFIG: usize = 431; pub const FSETXATTR: usize = 190; +pub const FSMOUNT: usize = 432; +pub const FSOPEN: usize = 430; +pub const FSPICK: usize = 433; pub const FSTAT: usize = 5; pub const FSTATFS: usize = 138; pub const FSYNC: usize = 74; @@ -112,8 +120,12 @@ pub const INOTIFY_RM_WATCH: usize = 255; pub const IO_CANCEL: usize = 210; pub const IO_DESTROY: usize = 207; pub const IO_GETEVENTS: usize = 208; +pub const IO_PGETEVENTS: usize = 333; pub const IO_SETUP: usize = 206; pub const IO_SUBMIT: usize = 209; +pub const IO_URING_ENTER: usize = 426; +pub const IO_URING_REGISTER: usize = 427; +pub const IO_URING_SETUP: usize = 425; pub const IOCTL: usize = 16; pub const IOPERM: usize = 173; pub const IOPL: usize = 172; @@ -152,6 +164,8 @@ pub const MLOCKALL: usize = 151; pub const MMAP: usize = 9; pub const MODIFY_LDT: usize = 154; pub const MOUNT: usize = 165; +pub const MOUNT_SETATTR: usize = 442; +pub const MOVE_MOUNT: usize = 429; pub const MOVE_PAGES: usize = 279; pub const MPROTECT: usize = 10; pub const MQ_GETSETATTR: usize = 245; @@ -175,10 +189,15 @@ pub const NEWFSTATAT: usize = 262; pub const NFSSERVCTL: usize = 180; pub const OPEN: usize = 2; pub const OPEN_BY_HANDLE_AT: usize = 304; +pub const OPEN_TREE: usize = 428; pub const OPENAT: usize = 257; +pub const OPENAT2: usize = 437; pub const PAUSE: usize = 34; pub const PERF_EVENT_OPEN: usize = 298; pub const PERSONALITY: usize = 135; +pub const PIDFD_GETFD: usize = 438; +pub const PIDFD_OPEN: usize = 434; +pub const PIDFD_SEND_SIGNAL: usize = 424; pub const PIPE: usize = 22; pub const PIPE2: usize = 293; pub const PIVOT_ROOT: usize = 155; @@ -192,6 +211,7 @@ pub const PREAD64: usize = 17; pub const PREADV: usize = 295; pub const PREADV2: usize = 327; pub const PRLIMIT64: usize = 302; +pub const PROCESS_MADVISE: usize = 440; pub const PROCESS_VM_READV: usize = 310; pub const PROCESS_VM_WRITEV: usize = 311; pub const PSELECT6: usize = 270; @@ -219,6 +239,7 @@ pub const RENAMEAT2: usize = 316; pub const REQUEST_KEY: usize = 249; pub const RESTART_SYSCALL: usize = 219; pub const RMDIR: usize = 84; +pub const RSEQ: usize = 334; pub const RT_SIGACTION: usize = 13; pub const RT_SIGPENDING: usize = 127; pub const RT_SIGPROCMASK: usize = 14; diff --git a/tools/nr_from_src.py b/tools/nr_from_src.py index c692a61..336b2e3 100644 --- a/tools/nr_from_src.py +++ b/tools/nr_from_src.py @@ -39,6 +39,14 @@ def load_headers(names: Iterable[Tuple[str, str]], arch: str, extra: str = ''): pass with open('{}/asm/unistd-common.h'.format(temp_include_dir), 'w'): pass + with open('{}/asm/unistd_o32.h'.format(temp_include_dir), 'w'): + pass + with open('{}/asm/unistd_n64.h'.format(temp_include_dir), 'w'): + pass + with open('{}/asm/unistd_32.h'.format(temp_include_dir), 'w'): + pass + with open('{}/asm/unistd_64.h'.format(temp_include_dir), 'w'): + pass f.write(extra) f.write('\n') @@ -50,7 +58,7 @@ def load_headers(names: Iterable[Tuple[str, str]], arch: str, extra: str = ''): f.flush() lines = subprocess.check_output(['gcc', '-nostdinc', '-I', '{}/arch/{}/include/uapi'.format(linux_path, arch), - '-I', '{}/include'.format(linux_path), + '-I', '{}/include/uapi'.format(linux_path), '-I', temp_include_dir, '-P', # don't include line number markers, which make the output annoying to parse '-E', # only preprocess, don't compile @@ -88,6 +96,7 @@ def main(): '#undef __arch64__')), 'linux-powerpc64': dict(load_headers(names, 'powerpc', '#define __arch64__ 1\n#define __powerpc64__')), + 'linux-riscv64': dict(load_headers(names, 'riscv')), 'linux-sparc64': dict(load_headers(names, 'sparc')), 'linux-x86': dict(load_table('arch/x86/entry/syscalls/syscall_32.tbl', {'i386'})), 'linux-x86_64': dict(load_table('arch/x86/entry/syscalls/syscall_64.tbl', {'common', '64'})), @@ -105,4 +114,3 @@ if '__main__' == __name__: if len(sys.argv) > 1: linux_path = sys.argv[1] main() -