From e87cc206673c9eecf3002d2dda969b987dc95473 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Wed, 15 Apr 2020 14:37:07 +0200 Subject: Add 32bit ARM syscalls --- src/include/syscall_armeabi.h | 354 ++++++++++++++++++++++++++++++++++++++++++ src/lib/syscall.c | 2 + 2 files changed, 356 insertions(+) create mode 100644 src/include/syscall_armeabi.h (limited to 'src') diff --git a/src/include/syscall_armeabi.h b/src/include/syscall_armeabi.h new file mode 100644 index 000000000..cbdc67f37 --- /dev/null +++ b/src/include/syscall_armeabi.h @@ -0,0 +1,354 @@ +{ "accept", 285 }, +{ "accept4", 366 }, +{ "access", 33 }, +{ "acct", 51 }, +{ "add_key", 309 }, +{ "adjtimex", 124 }, +{ "alarm", 27 }, +{ "arm_fadvise64_64", 270 }, +{ "arm_sync_file_range", 341 }, +{ "bdflush", 134 }, +{ "bind", 282 }, +{ "bpf", 386 }, +{ "brk", 45 }, +{ "capget", 184 }, +{ "capset", 185 }, +{ "chdir", 12 }, +{ "chmod", 15 }, +{ "chown", 182 }, +{ "chown32", 212 }, +{ "chroot", 61 }, +{ "clock_adjtime", 372 }, +{ "clock_getres", 264 }, +{ "clock_gettime", 263 }, +{ "clock_nanosleep", 265 }, +{ "clock_settime", 262 }, +{ "clone", 120 }, +{ "close", 6 }, +{ "connect", 283 }, +{ "creat", 8 }, +{ "delete_module", 129 }, +{ "dup2", 63 }, +{ "dup3", 358 }, +{ "dup", 41 }, +{ "epoll_create1", 357 }, +{ "epoll_create", 250 }, +{ "epoll_ctl", 251 }, +{ "epoll_pwait", 346 }, +{ "epoll_wait", 252 }, +{ "eventfd2", 356 }, +{ "eventfd", 351 }, +{ "execve", 11 }, +{ "exit", 1 }, +{ "exit_group", 248 }, +{ "faccessat", 334 }, +{ "fallocate", 352 }, +{ "fanotify_init", 367 }, +{ "fanotify_mark", 368 }, +{ "fchdir", 133 }, +{ "fchmod", 94 }, +{ "fchmodat", 333 }, +{ "fchown32", 207 }, +{ "fchown", 95 }, +{ "fchownat", 325 }, +{ "fcntl", 55 }, +{ "fcntl64", 221 }, +{ "fdatasync", 148 }, +{ "fgetxattr", 231 }, +{ "finit_module", 379 }, +{ "flistxattr", 234 }, +{ "flock", 143 }, +{ "fork", 2 }, +{ "fremovexattr", 237 }, +{ "fsetxattr", 228 }, +{ "fstat", 108 }, +{ "fstat64", 197 }, +{ "fstatat64", 327 }, +{ "fstatfs", 100 }, +{ "fstatfs64", 267 }, +{ "fsync", 118 }, +{ "ftruncate64", 194 }, +{ "ftruncate", 93 }, +{ "futex", 240 }, +{ "futimesat", 326 }, +{ "getcpu", 345 }, +{ "getcwd", 183 }, +{ "getdents", 141 }, +{ "getdents64", 217 }, +{ "getegid32", 202 }, +{ "getegid", 50 }, +{ "geteuid32", 201 }, +{ "geteuid", 49 }, +{ "getgid32", 200 }, +{ "getgid", 47 }, +{ "getgroups32", 205 }, +{ "getgroups", 80 }, +{ "getitimer", 105 }, +{ "get_mempolicy", 320 }, +{ "getpeername", 287 }, +{ "getpgid", 132 }, +{ "getpgrp", 65 }, +{ "getpid", 20 }, +{ "getppid", 64 }, +{ "getpriority", 96 }, +{ "getrandom", 384 }, +{ "getresgid", 171 }, +{ "getresgid32", 211 }, +{ "getresuid", 165 }, +{ "getresuid32", 209 }, +{ "getrlimit", 76 }, +{ "get_robust_list", 339 }, +{ "getrusage", 77 }, +{ "getsid", 147 }, +{ "getsockname", 286 }, +{ "getsockopt", 295 }, +{ "gettid", 224 }, +{ "gettimeofday", 78 }, +{ "getuid", 24 }, +{ "getuid32", 199 }, +{ "getxattr", 229 }, +{ "init_module", 128 }, +{ "inotify_add_watch", 317 }, +{ "inotify_init1", 360 }, +{ "inotify_init", 316 }, +{ "inotify_rm_watch", 318 }, +{ "io_cancel", 247 }, +{ "ioctl", 54 }, +{ "io_destroy", 244 }, +{ "io_getevents", 245 }, +{ "ioprio_get", 315 }, +{ "ioprio_set", 314 }, +{ "io_setup", 243 }, +{ "io_submit", 246 }, +{ "ipc", 117 }, +{ "kcmp", 378 }, +{ "kexec_load", 347 }, +{ "keyctl", 311 }, +{ "kill", 37 }, +{ "lchown", 16 }, +{ "lchown32", 198 }, +{ "lgetxattr", 230 }, +{ "link", 9 }, +{ "linkat", 330 }, +{ "listen", 284 }, +{ "listxattr", 232 }, +{ "llistxattr", 233 }, +{ "_llseek", 140 }, +{ "lookup_dcookie", 249 }, +{ "lremovexattr", 236 }, +{ "lseek", 19 }, +{ "lsetxattr", 227 }, +{ "lstat", 107 }, +{ "lstat64", 196 }, +{ "madvise", 220 }, +{ "mbind", 319 }, +{ "memfd_create", 385 }, +{ "mincore", 219 }, +{ "mkdir", 39 }, +{ "mkdirat", 323 }, +{ "mknod", 14 }, +{ "mknodat", 324 }, +{ "mlock", 150 }, +{ "mlockall", 152 }, +{ "mmap2", 192 }, +{ "mmap", 90 }, +{ "mount", 21 }, +{ "move_pages", 344 }, +{ "mprotect", 125 }, +{ "mq_getsetattr", 279 }, +{ "mq_notify", 278 }, +{ "mq_open", 274 }, +{ "mq_timedreceive", 277 }, +{ "mq_timedsend", 276 }, +{ "mq_unlink", 275 }, +{ "mremap", 163 }, +{ "msgctl", 304 }, +{ "msgget", 303 }, +{ "msgrcv", 302 }, +{ "msgsnd", 301 }, +{ "msync", 144 }, +{ "munlock", 151 }, +{ "munlockall", 153 }, +{ "munmap", 91 }, +{ "name_to_handle_at", 370 }, +{ "nanosleep", 162 }, +{ "_newselect", 142 }, +{ "nfsservctl", 169 }, +{ "nice", 34 }, +{ "open", 5 }, +{ "openat", 322 }, +{ "open_by_handle_at", 371 }, +{ "pause", 29 }, +{ "pciconfig_iobase", 271 }, +{ "pciconfig_read", 272 }, +{ "pciconfig_write", 273 }, +{ "perf_event_open", 364 }, +{ "personality", 136 }, +{ "pipe2", 359 }, +{ "pipe", 42 }, +{ "pivot_root", 218 }, +{ "poll", 168 }, +{ "ppoll", 336 }, +{ "prctl", 172 }, +{ "pread64", 180 }, +{ "preadv", 361 }, +{ "prlimit64", 369 }, +{ "process_vm_readv", 376 }, +{ "process_vm_writev", 377 }, +{ "pselect6", 335 }, +{ "ptrace", 26 }, +{ "pwrite64", 181 }, +{ "pwritev", 362 }, +{ "quotactl", 131 }, +{ "read", 3 }, +{ "readahead", 225 }, +{ "readdir", 89 }, +{ "readlink", 85 }, +{ "readlinkat", 332 }, +{ "readv", 145 }, +{ "reboot", 88 }, +{ "recv", 291 }, +{ "recvfrom", 292 }, +{ "recvmmsg", 365 }, +{ "recvmsg", 297 }, +{ "remap_file_pages", 253 }, +{ "removexattr", 235 }, +{ "rename", 38 }, +{ "renameat2", 382 }, +{ "renameat", 329 }, +{ "request_key", 310 }, +{ "rmdir", 40 }, +{ "rt_sigaction", 174 }, +{ "rt_sigpending", 176 }, +{ "rt_sigprocmask", 175 }, +{ "rt_sigqueueinfo", 178 }, +{ "rt_sigreturn", 173 }, +{ "rt_sigsuspend", 179 }, +{ "rt_sigtimedwait", 177 }, +{ "rt_tgsigqueueinfo", 363 }, +{ "sched_getaffinity", 242 }, +{ "sched_getattr", 381 }, +{ "sched_getparam", 155 }, +{ "sched_get_priority_max", 159 }, +{ "sched_get_priority_min", 160 }, +{ "sched_getscheduler", 157 }, +{ "sched_rr_get_interval", 161 }, +{ "sched_setaffinity", 241 }, +{ "sched_setattr", 380 }, +{ "sched_setparam", 154 }, +{ "sched_setscheduler", 156 }, +{ "sched_yield", 158 }, +{ "seccomp", 383 }, +{ "select", 82 }, +{ "semctl", 300 }, +{ "semget", 299 }, +{ "semop", 298 }, +{ "semtimedop", 312 }, +{ "send", 289 }, +{ "sendfile", 187 }, +{ "sendfile64", 239 }, +{ "sendmmsg", 374 }, +{ "sendmsg", 296 }, +{ "sendto", 290 }, +{ "setdomainname", 121 }, +{ "setfsgid", 139 }, +{ "setfsgid32", 216 }, +{ "setfsuid", 138 }, +{ "setfsuid32", 215 }, +{ "setgid32", 214 }, +{ "setgid", 46 }, +{ "setgroups32", 206 }, +{ "setgroups", 81 }, +{ "sethostname", 74 }, +{ "setitimer", 104 }, +{ "set_mempolicy", 321 }, +{ "setns", 375 }, +{ "setpgid", 57 }, +{ "setpriority", 97 }, +{ "setregid32", 204 }, +{ "setregid", 71 }, +{ "setresgid", 170 }, +{ "setresgid32", 210 }, +{ "setresuid", 164 }, +{ "setresuid32", 208 }, +{ "setreuid32", 203 }, +{ "setreuid", 70 }, +{ "setrlimit", 75 }, +{ "set_robust_list", 338 }, +{ "setsid", 66 }, +{ "setsockopt", 294 }, +{ "set_tid_address", 256 }, +{ "settimeofday", 79 }, +{ "setuid", 23 }, +{ "setuid32", 213 }, +{ "setxattr", 226 }, +{ "shmat", 305 }, +{ "shmctl", 308 }, +{ "shmdt", 306 }, +{ "shmget", 307 }, +{ "shutdown", 293 }, +{ "sigaction", 67 }, +{ "sigaltstack", 186 }, +{ "signalfd", 349 }, +{ "signalfd4", 355 }, +{ "sigpending", 73 }, +{ "sigprocmask", 126 }, +{ "sigreturn", 119 }, +{ "sigsuspend", 72 }, +{ "socket", 281 }, +{ "socketcall", 102 }, +{ "socketpair", 288 }, +{ "splice", 340 }, +{ "stat", 106 }, +{ "stat64", 195 }, +{ "statfs64", 266 }, +{ "statfs", 99 }, +{ "stime", 25 }, +{ "swapoff", 115 }, +{ "swapon", 87 }, +{ "symlink", 83 }, +{ "symlinkat", 331 }, +{ "sync", 36 }, +{ "sync_file_range2", 341 }, +{ "syncfs", 373 }, +{ "syscall", 113 }, +{ "_sysctl", 149 }, +{ "sysfs", 135 }, +{ "sysinfo", 116 }, +{ "syslog", 103 }, +{ "tee", 342 }, +{ "tgkill", 268 }, +{ "time", 13 }, +{ "timer_create", 257 }, +{ "timer_delete", 261 }, +{ "timerfd_create", 350 }, +{ "timerfd_gettime", 354 }, +{ "timerfd_settime", 353 }, +{ "timer_getoverrun", 260 }, +{ "timer_gettime", 259 }, +{ "timer_settime", 258 }, +{ "times", 43 }, +{ "tkill", 238 }, +{ "truncate64", 193 }, +{ "truncate", 92 }, +{ "ugetrlimit", 191 }, +{ "umask", 60 }, +{ "umount", 22 }, +{ "umount2", 52 }, +{ "uname", 122 }, +{ "unlink", 10 }, +{ "unlinkat", 328 }, +{ "unshare", 337 }, +{ "uselib", 86 }, +{ "ustat", 62 }, +{ "utime", 30 }, +{ "utimensat", 348 }, +{ "utimes", 269 }, +{ "vfork", 190 }, +{ "vhangup", 111 }, +{ "vmsplice", 343 }, +{ "vserver", 313 }, +{ "wait4", 114 }, +{ "waitid", 280 }, +{ "write", 4 }, +{ "writev", 146 }, diff --git a/src/lib/syscall.c b/src/lib/syscall.c index 5accdcb65..2f8ccaed7 100644 --- a/src/lib/syscall.c +++ b/src/lib/syscall.c @@ -57,6 +57,8 @@ static const SyscallEntry syslist[] = { #elif defined(__i386__) // awk '/__NR_/ { print "{ \"" gensub("__NR_", "", "g", $2) "\", " $3 " },"; }' < /usr/include/x86_64-linux-gnu/asm/unistd_32.h #include "../include/syscall_i386.h" +#elif defined(__arm__) +#include "../include/syscall_armeabi.h" #else #warning "Please submit a syscall table for your architecture" #endif -- cgit v1.2.3-54-g00ecf