mirror of
https://github.com/reactos/syzkaller.git
synced 2024-10-07 17:13:26 +00:00
sys/fuchsia: more descriptions
This commit is contained in:
parent
6222b00f4b
commit
8793f74c6c
4
Makefile
4
Makefile
@ -87,9 +87,9 @@ ifeq ("$(TARGETOS)", "fuchsia")
|
||||
export CGO_ENABLED=1
|
||||
NOSTATIC = 1
|
||||
ifeq ("$(TARGETARCH)", "amd64")
|
||||
ADDCFLAGS = --target=x86_64-fuchsia -lfdio -lzircon --sysroot $(SOURCEDIR)/out/build-zircon/build-zircon-pc-x86-64/sysroot
|
||||
ADDCFLAGS = --target=x86_64-fuchsia -lfdio -lzircon --sysroot $(SOURCEDIR)/out/build-zircon/build-zircon-pc-x86-64/sysroot -I $(SOURCEDIR)/out/build-zircon/build-zircon-pc-x86-64
|
||||
else ifeq ("$(TARGETARCH)", "arm64")
|
||||
ADDCFLAGS = --target=aarch64-fuchsia -lfdio -lzircon --sysroot $(SOURCEDIR)/out/build-zircon/build-zircon-pc-x86-64/sysroot
|
||||
ADDCFLAGS = --target=aarch64-fuchsia -lfdio -lzircon --sysroot $(SOURCEDIR)/out/build-zircon/build-zircon-pc-arm64/sysroot -I $(SOURCEDIR)/out/build-zircon/build-zircon-pc-arm64
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -3,7 +3,14 @@
|
||||
|
||||
// This file is shared between executor and csource package.
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <poll.h>
|
||||
#include <sys/file.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/uio.h>
|
||||
#include <unistd.h>
|
||||
#include <utime.h>
|
||||
#include <zircon/process.h>
|
||||
#include <zircon/syscalls.h>
|
||||
#if defined(SYZ_EXECUTOR) || defined(SYZ_THREADED) || defined(SYZ_COLLIDE)
|
||||
@ -191,3 +198,39 @@ long syz_job_default()
|
||||
return zx_job_default();
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(SYZ_EXECUTOR) || defined(__NR_syz_future_time)
|
||||
long syz_future_time(long when)
|
||||
{
|
||||
zx_time_t delta_ms;
|
||||
switch (when) {
|
||||
case 0:
|
||||
delta_ms = 5;
|
||||
case 1:
|
||||
delta_ms = 30;
|
||||
default:
|
||||
delta_ms = 10000;
|
||||
}
|
||||
zx_time_t now = zx_time_get(ZX_CLOCK_MONOTONIC);
|
||||
return now + delta_ms * 1000 * 1000;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(SYZ_EXECUTOR) || defined(__NR_zx_channel_call_finish) || defined(zx_channel_call_noretry)
|
||||
#include "kernel/lib/vdso/vdso-code.h"
|
||||
#define UNEXPORTED(name) ((syscall_t)((long)&zx_handle_close - VDSO_SYSCALL_zx_handle_close + VDSO_SYSCALL_##name))
|
||||
#endif
|
||||
|
||||
#if defined(SYZ_EXECUTOR) || defined(__NR_zx_channel_call_finish)
|
||||
zx_status_t zx_channel_call_finish(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8)
|
||||
{
|
||||
return UNEXPORTED(zx_channel_call_finish)(a0, a1, a2, a3, a4, a5, a6, a7, a8);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(SYZ_EXECUTOR) || defined(__NR_zx_channel_call_noretry)
|
||||
zx_status_t zx_channel_call_noretry(long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8)
|
||||
{
|
||||
return UNEXPORTED(zx_channel_call_noretry)(a0, a1, a2, a3, a4, a5, a6, a7, a8);
|
||||
}
|
||||
#endif
|
||||
|
@ -30,7 +30,8 @@ int main(int argc, char** argv)
|
||||
|
||||
long execute_syscall(call_t* c, long a0, long a1, long a2, long a3, long a4, long a5, long a6, long a7, long a8)
|
||||
{
|
||||
long res = c->call(a0, a1, a2, a3, a4, a5, a6, a7, a8);
|
||||
long res = ZX_ERR_INVALID_ARGS;
|
||||
NONFAILING(res = c->call(a0, a1, a2, a3, a4, a5, a6, a7, a8));
|
||||
errno = res;
|
||||
return res;
|
||||
}
|
||||
|
@ -2,21 +2,82 @@
|
||||
|
||||
#if defined(__x86_64__) || 0
|
||||
#define GOARCH "amd64"
|
||||
#define SYZ_REVISION "c4bd217e1073de2f960be149f5f3763258a9f8ea"
|
||||
#define __NR_syz_job_default 1000000
|
||||
#define __NR_syz_mmap 1000001
|
||||
#define __NR_syz_process_self 1000002
|
||||
#define __NR_syz_thread_self 1000003
|
||||
#define __NR_syz_vmar_root_self 1000004
|
||||
#define SYZ_REVISION "5a8e70818b54cb32826aacef1b4b176d34b5c768"
|
||||
#define __NR_syz_future_time 1000000
|
||||
#define __NR_syz_job_default 1000001
|
||||
#define __NR_syz_mmap 1000002
|
||||
#define __NR_syz_process_self 1000003
|
||||
#define __NR_syz_thread_self 1000004
|
||||
#define __NR_syz_vmar_root_self 1000005
|
||||
|
||||
unsigned syscall_count = 103;
|
||||
unsigned syscall_count = 164;
|
||||
call_t syscalls[] = {
|
||||
{"syz_job_default", 1000000, (syscall_t)syz_job_default},
|
||||
{"syz_mmap", 1000001, (syscall_t)syz_mmap},
|
||||
{"syz_process_self", 1000002, (syscall_t)syz_process_self},
|
||||
{"syz_thread_self", 1000003, (syscall_t)syz_thread_self},
|
||||
{"syz_vmar_root_self", 1000004, (syscall_t)syz_vmar_root_self},
|
||||
{"chdir", 0, (syscall_t)chdir},
|
||||
{"chmod", 0, (syscall_t)chmod},
|
||||
{"chown", 0, (syscall_t)chown},
|
||||
{"close", 0, (syscall_t)close},
|
||||
{"creat", 0, (syscall_t)creat},
|
||||
{"dup", 0, (syscall_t)dup},
|
||||
{"dup2", 0, (syscall_t)dup2},
|
||||
{"dup3", 0, (syscall_t)dup3},
|
||||
{"faccessat", 0, (syscall_t)faccessat},
|
||||
{"fchdir", 0, (syscall_t)fchdir},
|
||||
{"fchmod", 0, (syscall_t)fchmod},
|
||||
{"fchmodat", 0, (syscall_t)fchmodat},
|
||||
{"fchown", 0, (syscall_t)fchown},
|
||||
{"fchownat", 0, (syscall_t)fchownat},
|
||||
{"fdatasync", 0, (syscall_t)fdatasync},
|
||||
{"flock", 0, (syscall_t)flock},
|
||||
{"fstat", 0, (syscall_t)fstat},
|
||||
{"fsync", 0, (syscall_t)fsync},
|
||||
{"ftruncate", 0, (syscall_t)ftruncate},
|
||||
{"futimesat", 0, (syscall_t)futimesat},
|
||||
{"getcwd", 0, (syscall_t)getcwd},
|
||||
{"getgid", 0, (syscall_t)getgid},
|
||||
{"getpid", 0, (syscall_t)getpid},
|
||||
{"getuid", 0, (syscall_t)getuid},
|
||||
{"lchown", 0, (syscall_t)lchown},
|
||||
{"link", 0, (syscall_t)link},
|
||||
{"linkat", 0, (syscall_t)linkat},
|
||||
{"lseek", 0, (syscall_t)lseek},
|
||||
{"lstat", 0, (syscall_t)lstat},
|
||||
{"mkdir", 0, (syscall_t)mkdir},
|
||||
{"mkdirat", 0, (syscall_t)mkdirat},
|
||||
{"open", 0, (syscall_t)open},
|
||||
{"openat", 0, (syscall_t)openat},
|
||||
{"poll", 0, (syscall_t)poll},
|
||||
{"ppoll", 0, (syscall_t)ppoll},
|
||||
{"preadv", 0, (syscall_t)preadv},
|
||||
{"pwritev", 0, (syscall_t)pwritev},
|
||||
{"read", 0, (syscall_t)read},
|
||||
{"readlink", 0, (syscall_t)readlink},
|
||||
{"readlinkat", 0, (syscall_t)readlinkat},
|
||||
{"readv", 0, (syscall_t)readv},
|
||||
{"rename", 0, (syscall_t)rename},
|
||||
{"renameat", 0, (syscall_t)renameat},
|
||||
{"rmdir", 0, (syscall_t)rmdir},
|
||||
{"select", 0, (syscall_t)select},
|
||||
{"stat", 0, (syscall_t)stat},
|
||||
{"symlink", 0, (syscall_t)symlink},
|
||||
{"symlinkat", 0, (syscall_t)symlinkat},
|
||||
{"sync", 0, (syscall_t)sync},
|
||||
{"syz_future_time", 1000000, (syscall_t)syz_future_time},
|
||||
{"syz_job_default", 1000001, (syscall_t)syz_job_default},
|
||||
{"syz_mmap", 1000002, (syscall_t)syz_mmap},
|
||||
{"syz_process_self", 1000003, (syscall_t)syz_process_self},
|
||||
{"syz_thread_self", 1000004, (syscall_t)syz_thread_self},
|
||||
{"syz_vmar_root_self", 1000005, (syscall_t)syz_vmar_root_self},
|
||||
{"truncate", 0, (syscall_t)truncate},
|
||||
{"unlink", 0, (syscall_t)unlink},
|
||||
{"unlinkat", 0, (syscall_t)unlinkat},
|
||||
{"utime", 0, (syscall_t)utime},
|
||||
{"utimensat", 0, (syscall_t)utimensat},
|
||||
{"utimes", 0, (syscall_t)utimes},
|
||||
{"write", 0, (syscall_t)write},
|
||||
{"writev", 0, (syscall_t)writev},
|
||||
{"zx_channel_call", 0, (syscall_t)zx_channel_call},
|
||||
{"zx_channel_call_finish", 0, (syscall_t)zx_channel_call_finish},
|
||||
{"zx_channel_call_noretry", 0, (syscall_t)zx_channel_call_noretry},
|
||||
{"zx_channel_create", 0, (syscall_t)zx_channel_create},
|
||||
{"zx_channel_read", 0, (syscall_t)zx_channel_read},
|
||||
{"zx_channel_write", 0, (syscall_t)zx_channel_write},
|
||||
@ -112,6 +173,7 @@ call_t syscalls[] = {
|
||||
{"zx_vmo_op_range$ZX_VMO_OP_DECOMMIT", 0, (syscall_t)zx_vmo_op_range},
|
||||
{"zx_vmo_op_range$ZX_VMO_OP_LOOKUP", 0, (syscall_t)zx_vmo_op_range},
|
||||
{"zx_vmo_read", 0, (syscall_t)zx_vmo_read},
|
||||
{"zx_vmo_set_cache_policy", 0, (syscall_t)zx_vmo_set_cache_policy},
|
||||
{"zx_vmo_set_size", 0, (syscall_t)zx_vmo_set_size},
|
||||
{"zx_vmo_write", 0, (syscall_t)zx_vmo_write},
|
||||
|
||||
@ -120,21 +182,82 @@ call_t syscalls[] = {
|
||||
|
||||
#if defined(__aarch64__) || 0
|
||||
#define GOARCH "arm64"
|
||||
#define SYZ_REVISION "74d9a48364f654cbf79562ea1efc049b48db9a72"
|
||||
#define __NR_syz_job_default 1000000
|
||||
#define __NR_syz_mmap 1000001
|
||||
#define __NR_syz_process_self 1000002
|
||||
#define __NR_syz_thread_self 1000003
|
||||
#define __NR_syz_vmar_root_self 1000004
|
||||
#define SYZ_REVISION "181d2b70232bd5b7de2d6d08ad038157ec35803f"
|
||||
#define __NR_syz_future_time 1000000
|
||||
#define __NR_syz_job_default 1000001
|
||||
#define __NR_syz_mmap 1000002
|
||||
#define __NR_syz_process_self 1000003
|
||||
#define __NR_syz_thread_self 1000004
|
||||
#define __NR_syz_vmar_root_self 1000005
|
||||
|
||||
unsigned syscall_count = 103;
|
||||
unsigned syscall_count = 164;
|
||||
call_t syscalls[] = {
|
||||
{"syz_job_default", 1000000, (syscall_t)syz_job_default},
|
||||
{"syz_mmap", 1000001, (syscall_t)syz_mmap},
|
||||
{"syz_process_self", 1000002, (syscall_t)syz_process_self},
|
||||
{"syz_thread_self", 1000003, (syscall_t)syz_thread_self},
|
||||
{"syz_vmar_root_self", 1000004, (syscall_t)syz_vmar_root_self},
|
||||
{"chdir", 0, (syscall_t)chdir},
|
||||
{"chmod", 0, (syscall_t)chmod},
|
||||
{"chown", 0, (syscall_t)chown},
|
||||
{"close", 0, (syscall_t)close},
|
||||
{"creat", 0, (syscall_t)creat},
|
||||
{"dup", 0, (syscall_t)dup},
|
||||
{"dup2", 0, (syscall_t)dup2},
|
||||
{"dup3", 0, (syscall_t)dup3},
|
||||
{"faccessat", 0, (syscall_t)faccessat},
|
||||
{"fchdir", 0, (syscall_t)fchdir},
|
||||
{"fchmod", 0, (syscall_t)fchmod},
|
||||
{"fchmodat", 0, (syscall_t)fchmodat},
|
||||
{"fchown", 0, (syscall_t)fchown},
|
||||
{"fchownat", 0, (syscall_t)fchownat},
|
||||
{"fdatasync", 0, (syscall_t)fdatasync},
|
||||
{"flock", 0, (syscall_t)flock},
|
||||
{"fstat", 0, (syscall_t)fstat},
|
||||
{"fsync", 0, (syscall_t)fsync},
|
||||
{"ftruncate", 0, (syscall_t)ftruncate},
|
||||
{"futimesat", 0, (syscall_t)futimesat},
|
||||
{"getcwd", 0, (syscall_t)getcwd},
|
||||
{"getgid", 0, (syscall_t)getgid},
|
||||
{"getpid", 0, (syscall_t)getpid},
|
||||
{"getuid", 0, (syscall_t)getuid},
|
||||
{"lchown", 0, (syscall_t)lchown},
|
||||
{"link", 0, (syscall_t)link},
|
||||
{"linkat", 0, (syscall_t)linkat},
|
||||
{"lseek", 0, (syscall_t)lseek},
|
||||
{"lstat", 0, (syscall_t)lstat},
|
||||
{"mkdir", 0, (syscall_t)mkdir},
|
||||
{"mkdirat", 0, (syscall_t)mkdirat},
|
||||
{"open", 0, (syscall_t)open},
|
||||
{"openat", 0, (syscall_t)openat},
|
||||
{"poll", 0, (syscall_t)poll},
|
||||
{"ppoll", 0, (syscall_t)ppoll},
|
||||
{"preadv", 0, (syscall_t)preadv},
|
||||
{"pwritev", 0, (syscall_t)pwritev},
|
||||
{"read", 0, (syscall_t)read},
|
||||
{"readlink", 0, (syscall_t)readlink},
|
||||
{"readlinkat", 0, (syscall_t)readlinkat},
|
||||
{"readv", 0, (syscall_t)readv},
|
||||
{"rename", 0, (syscall_t)rename},
|
||||
{"renameat", 0, (syscall_t)renameat},
|
||||
{"rmdir", 0, (syscall_t)rmdir},
|
||||
{"select", 0, (syscall_t)select},
|
||||
{"stat", 0, (syscall_t)stat},
|
||||
{"symlink", 0, (syscall_t)symlink},
|
||||
{"symlinkat", 0, (syscall_t)symlinkat},
|
||||
{"sync", 0, (syscall_t)sync},
|
||||
{"syz_future_time", 1000000, (syscall_t)syz_future_time},
|
||||
{"syz_job_default", 1000001, (syscall_t)syz_job_default},
|
||||
{"syz_mmap", 1000002, (syscall_t)syz_mmap},
|
||||
{"syz_process_self", 1000003, (syscall_t)syz_process_self},
|
||||
{"syz_thread_self", 1000004, (syscall_t)syz_thread_self},
|
||||
{"syz_vmar_root_self", 1000005, (syscall_t)syz_vmar_root_self},
|
||||
{"truncate", 0, (syscall_t)truncate},
|
||||
{"unlink", 0, (syscall_t)unlink},
|
||||
{"unlinkat", 0, (syscall_t)unlinkat},
|
||||
{"utime", 0, (syscall_t)utime},
|
||||
{"utimensat", 0, (syscall_t)utimensat},
|
||||
{"utimes", 0, (syscall_t)utimes},
|
||||
{"write", 0, (syscall_t)write},
|
||||
{"writev", 0, (syscall_t)writev},
|
||||
{"zx_channel_call", 0, (syscall_t)zx_channel_call},
|
||||
{"zx_channel_call_finish", 0, (syscall_t)zx_channel_call_finish},
|
||||
{"zx_channel_call_noretry", 0, (syscall_t)zx_channel_call_noretry},
|
||||
{"zx_channel_create", 0, (syscall_t)zx_channel_create},
|
||||
{"zx_channel_read", 0, (syscall_t)zx_channel_read},
|
||||
{"zx_channel_write", 0, (syscall_t)zx_channel_write},
|
||||
@ -230,6 +353,7 @@ call_t syscalls[] = {
|
||||
{"zx_vmo_op_range$ZX_VMO_OP_DECOMMIT", 0, (syscall_t)zx_vmo_op_range},
|
||||
{"zx_vmo_op_range$ZX_VMO_OP_LOOKUP", 0, (syscall_t)zx_vmo_op_range},
|
||||
{"zx_vmo_read", 0, (syscall_t)zx_vmo_read},
|
||||
{"zx_vmo_set_cache_policy", 0, (syscall_t)zx_vmo_set_cache_policy},
|
||||
{"zx_vmo_set_size", 0, (syscall_t)zx_vmo_set_size},
|
||||
{"zx_vmo_write", 0, (syscall_t)zx_vmo_write},
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -10,6 +10,10 @@ zx_channel_call(handle zx_chan, options const[0], deadline zx_time, args ptr[in,
|
||||
zx_channel_read(handle zx_chan, options flags[chan_read_options], bytes ptr[out, array[int8]], handles ptr[out, zx_handle], num_bytes len[bytes], num_handles len[handles], actual_bytes ptr[out, int32], actual_handles ptr[out, int32])
|
||||
zx_channel_write(handle zx_chan, options const[0], bytes ptr[in, array[int8]], num_bytes len[bytes], handles ptr[in, array[zx_handle]], num_handles len[handles])
|
||||
|
||||
# Not public:
|
||||
zx_channel_call_finish(deadline zx_time, args ptr[in, zx_channel_call_args], actual_bytes ptr[out, int32], actual_handles ptr[out, int32], read_status ptr[out, int32])
|
||||
zx_channel_call_noretry(handle zx_chan, options const[0], deadline zx_time, args ptr[in, zx_channel_call_args], actual_bytes ptr[out, int32], actual_handles ptr[out, int32], read_status ptr[out, int32])
|
||||
|
||||
zx_channel_call_args {
|
||||
wr_bytes ptr[in, array[int8]]
|
||||
wr_handles ptr[in, array[zx_handle]]
|
||||
|
@ -5,7 +5,6 @@ include <zircon/syscalls.h>
|
||||
include <zircon/syscalls/object.h>
|
||||
include <zircon/syscalls/exception.h>
|
||||
|
||||
# TODO: special values?
|
||||
resource koid[int64]: 0
|
||||
|
||||
# TODO: temporary disabled as it crashes kernel left and right.
|
||||
|
152
sys/fuchsia/posix.txt
Normal file
152
sys/fuchsia/posix.txt
Normal file
@ -0,0 +1,152 @@
|
||||
# Copyright 2017 syzkaller project authors. All rights reserved.
|
||||
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
|
||||
|
||||
# This file contains some subset of POSIX/libc calls.
|
||||
# They should be handled by ulib/fs service rather then by the kernel,
|
||||
# but still no reason to not fuzz them.
|
||||
|
||||
include <sys/types.h>
|
||||
include <sys/stat.h>
|
||||
include <sys/file.h>
|
||||
include <sys/uio.h>
|
||||
include <fcntl.h>
|
||||
include <poll.h>
|
||||
include <unistd.h>
|
||||
include <utime.h>
|
||||
|
||||
resource fd[int32]: 0xffffffffffffffff, AT_FDCWD
|
||||
resource pid[int32]: 0, 0xffffffffffffffff
|
||||
resource uid[int32]: 0, 0xffffffffffffffff
|
||||
resource gid[int32]: 0, 0xffffffffffffffff
|
||||
|
||||
open(file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd
|
||||
openat(fd fd, file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd
|
||||
creat(file ptr[in, filename], mode flags[open_mode]) fd
|
||||
close(fd fd)
|
||||
read(fd fd, buf buffer[out], count len[buf])
|
||||
readv(fd fd, vec ptr[in, array[iovec_out]], vlen len[vec])
|
||||
preadv(fd fd, vec ptr[in, array[iovec_out]], vlen len[vec], off fileoff)
|
||||
write(fd fd, buf buffer[in], count len[buf])
|
||||
writev(fd fd, vec ptr[in, array[iovec_in]], vlen len[vec])
|
||||
pwritev(fd fd, vec ptr[in, array[iovec_in]], vlen len[vec], off fileoff)
|
||||
lseek(fd fd, offset fileoff, whence flags[seek_whence])
|
||||
|
||||
dup(oldfd fd) fd
|
||||
dup2(oldfd fd, newfd fd) fd
|
||||
dup3(oldfd fd, newfd fd, flags flags[dup_flags]) fd
|
||||
|
||||
stat(file ptr[in, filename], statbuf ptr[out, array[int8]])
|
||||
lstat(file ptr[in, filename], statbuf ptr[out, array[int8]])
|
||||
fstat(fd fd, statbuf ptr[out, array[int8]])
|
||||
|
||||
poll(fds ptr[in, array[pollfd]], nfds len[fds], timeout int32)
|
||||
ppoll(fds ptr[in, array[pollfd]], nfds len[fds], tsp ptr[in, timespec], sigmask ptr[in, sigset], size len[sigmask])
|
||||
select(n len[inp], inp ptr[inout, fd_set], outp ptr[inout, fd_set], exp ptr[inout, fd_set], tvp ptr[inout, timeval])
|
||||
|
||||
chmod(file ptr[in, filename], mode flags[open_mode])
|
||||
fchmod(fd fd, mode flags[open_mode])
|
||||
fchmodat(dirfd fd, file ptr[in, filename], mode flags[open_mode])
|
||||
chown(file ptr[in, filename], uid uid, gid gid)
|
||||
lchown(file ptr[in, filename], uid uid, gid gid)
|
||||
fchown(fd fd, uid uid, gid gid)
|
||||
fchownat(dirfd fd, file ptr[in, filename], uid uid, gid gid, flags flags[at_flags])
|
||||
faccessat(dirfd fd, pathname ptr[in, filename], mode flags[open_mode], flags flags[faccessat_flags])
|
||||
utime(filename ptr[in, filename], times ptr[in, utimbuf])
|
||||
utimes(filename ptr[in, filename], times ptr[in, itimerval])
|
||||
futimesat(dir fd, pathname ptr[in, filename], times ptr[in, itimerval])
|
||||
utimensat(dir fd, pathname ptr[in, filename], times ptr[in, itimerval], flags flags[utimensat_flags])
|
||||
|
||||
link(old ptr[in, filename], new ptr[in, filename])
|
||||
linkat(oldfd fd, old ptr[in, filename], newfd fd, new ptr[in, filename], flags flags[linkat_flags])
|
||||
symlinkat(old ptr[in, filename], newfd fd, new ptr[in, filename])
|
||||
symlink(old ptr[in, filename], new ptr[in, filename])
|
||||
unlink(path ptr[in, filename])
|
||||
unlinkat(fd fd, path ptr[in, filename], flags flags[unlinkat_flags])
|
||||
readlink(path ptr[in, filename], buf buffer[out], siz len[buf])
|
||||
readlinkat(fd fd, path ptr[in, filename], buf buffer[out], siz len[buf])
|
||||
rename(old ptr[in, filename], new ptr[in, filename])
|
||||
renameat(oldfd fd, old ptr[in, filename], newfd fd, new ptr[in, filename])
|
||||
mkdir(path ptr[in, filename], mode flags[open_mode])
|
||||
mkdirat(fd fd, path ptr[in, filename], mode flags[open_mode])
|
||||
rmdir(path ptr[in, filename])
|
||||
truncate(file ptr[in, filename], len intptr)
|
||||
ftruncate(fd fd, len intptr)
|
||||
flock(fd fd, op flags[flock_op])
|
||||
fsync(fd fd)
|
||||
fdatasync(fd fd)
|
||||
sync()
|
||||
getcwd(buf buffer[out], size len[buf])
|
||||
chdir(dir ptr[in, filename])
|
||||
fchdir(fd fd)
|
||||
|
||||
getgid() gid
|
||||
getuid() uid
|
||||
getpid() pid
|
||||
|
||||
open_flags = O_RDONLY, O_WRONLY, O_RDWR, O_APPEND, FASYNC, O_CLOEXEC, O_CREAT, O_DIRECT, O_DIRECTORY, O_EXCL, O_LARGEFILE, O_NOATIME, O_NOCTTY, O_NOFOLLOW, O_NONBLOCK, O_PATH, O_SYNC, O_TRUNC
|
||||
open_mode = S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH
|
||||
seek_whence = SEEK_SET, SEEK_CUR, SEEK_END
|
||||
dup_flags = O_CLOEXEC
|
||||
pollfd_events = POLLIN, POLLPRI, POLLOUT, POLLERR, POLLHUP, POLLNVAL, POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND, POLLMSG, POLLRDHUP
|
||||
at_flags = AT_EMPTY_PATH, AT_SYMLINK_NOFOLLOW, AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, AT_EMPTY_PATH
|
||||
utimensat_flags = 0, AT_SYMLINK_NOFOLLOW
|
||||
linkat_flags = AT_EMPTY_PATH, AT_SYMLINK_FOLLOW
|
||||
unlinkat_flags = 0, AT_REMOVEDIR
|
||||
flock_op = LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB
|
||||
faccessat_flags = 0x100, 0x200, 0x400, 0x800, 0x1000
|
||||
|
||||
iovec_in {
|
||||
addr buffer[in]
|
||||
len len[addr, intptr]
|
||||
}
|
||||
|
||||
iovec_out {
|
||||
addr buffer[out]
|
||||
len len[addr, intptr]
|
||||
}
|
||||
|
||||
sigset {
|
||||
mask int64
|
||||
}
|
||||
|
||||
sigset_size {
|
||||
ss ptr[inout, sigset]
|
||||
len len[ss, intptr]
|
||||
}
|
||||
|
||||
fd_set {
|
||||
mask0 int64
|
||||
mask1 int64
|
||||
mask2 int64
|
||||
mask3 int64
|
||||
mask4 int64
|
||||
mask5 int64
|
||||
mask6 int64
|
||||
mask7 int64
|
||||
}
|
||||
|
||||
pollfd {
|
||||
fd fd
|
||||
events flags[pollfd_events, int16]
|
||||
revents const[0, int16]
|
||||
}
|
||||
|
||||
timespec {
|
||||
sec intptr
|
||||
nsec intptr
|
||||
}
|
||||
|
||||
timeval {
|
||||
sec intptr
|
||||
usec intptr
|
||||
}
|
||||
|
||||
utimbuf {
|
||||
actime intptr
|
||||
modtime intptr
|
||||
}
|
||||
|
||||
itimerval {
|
||||
interv timeval
|
||||
value timeval
|
||||
}
|
53
sys/fuchsia/posix_amd64.const
Normal file
53
sys/fuchsia/posix_amd64.const
Normal file
@ -0,0 +1,53 @@
|
||||
# AUTOGENERATED FILE
|
||||
AT_EMPTY_PATH = 4096
|
||||
AT_FDCWD = 18446744073709551516
|
||||
AT_NO_AUTOMOUNT = 2048
|
||||
AT_REMOVEDIR = 512
|
||||
AT_SYMLINK_FOLLOW = 1024
|
||||
AT_SYMLINK_NOFOLLOW = 256
|
||||
FASYNC = 8192
|
||||
LOCK_EX = 2
|
||||
LOCK_NB = 4
|
||||
LOCK_SH = 1
|
||||
LOCK_UN = 8
|
||||
O_APPEND = 1024
|
||||
O_CLOEXEC = 524288
|
||||
O_CREAT = 64
|
||||
O_DIRECT = 16384
|
||||
O_DIRECTORY = 65536
|
||||
O_EXCL = 128
|
||||
O_LARGEFILE = 32768
|
||||
O_NOATIME = 262144
|
||||
O_NOCTTY = 256
|
||||
O_NOFOLLOW = 131072
|
||||
O_NONBLOCK = 2048
|
||||
O_PATH = 2097152
|
||||
O_RDONLY = 0
|
||||
O_RDWR = 2
|
||||
O_SYNC = 1052672
|
||||
O_TRUNC = 512
|
||||
O_WRONLY = 1
|
||||
POLLERR = 8
|
||||
POLLHUP = 16
|
||||
POLLIN = 1
|
||||
POLLMSG = 1024
|
||||
POLLNVAL = 32
|
||||
POLLOUT = 4
|
||||
POLLPRI = 2
|
||||
POLLRDBAND = 128
|
||||
POLLRDHUP = 8192
|
||||
POLLRDNORM = 64
|
||||
POLLWRBAND = 512
|
||||
POLLWRNORM = 256
|
||||
SEEK_CUR = 1
|
||||
SEEK_END = 2
|
||||
SEEK_SET = 0
|
||||
S_IRGRP = 32
|
||||
S_IROTH = 4
|
||||
S_IRUSR = 256
|
||||
S_IWGRP = 16
|
||||
S_IWOTH = 2
|
||||
S_IWUSR = 128
|
||||
S_IXGRP = 8
|
||||
S_IXOTH = 1
|
||||
S_IXUSR = 64
|
53
sys/fuchsia/posix_arm64.const
Normal file
53
sys/fuchsia/posix_arm64.const
Normal file
@ -0,0 +1,53 @@
|
||||
# AUTOGENERATED FILE
|
||||
AT_EMPTY_PATH = 4096
|
||||
AT_FDCWD = 18446744073709551516
|
||||
AT_NO_AUTOMOUNT = 2048
|
||||
AT_REMOVEDIR = 512
|
||||
AT_SYMLINK_FOLLOW = 1024
|
||||
AT_SYMLINK_NOFOLLOW = 256
|
||||
FASYNC = 8192
|
||||
LOCK_EX = 2
|
||||
LOCK_NB = 4
|
||||
LOCK_SH = 1
|
||||
LOCK_UN = 8
|
||||
O_APPEND = 1024
|
||||
O_CLOEXEC = 524288
|
||||
O_CREAT = 64
|
||||
O_DIRECT = 16384
|
||||
O_DIRECTORY = 65536
|
||||
O_EXCL = 128
|
||||
O_LARGEFILE = 32768
|
||||
O_NOATIME = 262144
|
||||
O_NOCTTY = 256
|
||||
O_NOFOLLOW = 131072
|
||||
O_NONBLOCK = 2048
|
||||
O_PATH = 2097152
|
||||
O_RDONLY = 0
|
||||
O_RDWR = 2
|
||||
O_SYNC = 1052672
|
||||
O_TRUNC = 512
|
||||
O_WRONLY = 1
|
||||
POLLERR = 8
|
||||
POLLHUP = 16
|
||||
POLLIN = 1
|
||||
POLLMSG = 1024
|
||||
POLLNVAL = 32
|
||||
POLLOUT = 4
|
||||
POLLPRI = 2
|
||||
POLLRDBAND = 128
|
||||
POLLRDHUP = 8192
|
||||
POLLRDNORM = 64
|
||||
POLLWRBAND = 512
|
||||
POLLWRNORM = 256
|
||||
SEEK_CUR = 1
|
||||
SEEK_END = 2
|
||||
SEEK_SET = 0
|
||||
S_IRGRP = 32
|
||||
S_IROTH = 4
|
||||
S_IRUSR = 256
|
||||
S_IWGRP = 16
|
||||
S_IWOTH = 2
|
||||
S_IWUSR = 128
|
||||
S_IXGRP = 8
|
||||
S_IXOTH = 1
|
||||
S_IXUSR = 64
|
@ -3,7 +3,6 @@
|
||||
|
||||
include <zircon/syscalls.h>
|
||||
|
||||
# TODO: generate time a bit in future
|
||||
resource zx_time[int64]: 0, ZX_TIME_INFINITE
|
||||
|
||||
zx_nanosleep(deadline zx_time)
|
||||
@ -14,4 +13,6 @@ zx_ticks_per_second()
|
||||
# TODO: undocumented
|
||||
# zx_clock_adjust?
|
||||
|
||||
syz_future_time(when intptr[0:1]) zx_time
|
||||
|
||||
clock_id = ZX_CLOCK_MONOTONIC, ZX_CLOCK_UTC, ZX_CLOCK_THREAD
|
||||
|
@ -19,4 +19,8 @@ zx_vmo_op_range$ZX_VMO_OP_CACHE_CLEAN(handle zx_vmo, op const[ZX_VMO_OP_CACHE_CL
|
||||
zx_vmo_op_range$ZX_VMO_OP_CACHE_CLEAN_INVALIDATE(handle zx_vmo, op const[ZX_VMO_OP_CACHE_CLEAN_INVALIDATE], offset int64, size int64, data const[0], buffer_size const[0])
|
||||
zx_vmo_op_range$ZX_VMO_OP_LOOKUP(handle zx_vmo, op const[ZX_VMO_OP_LOOKUP], offset int64, size int64, data ptr[out, array[int8]], buffer_size len[data])
|
||||
|
||||
# Not public:
|
||||
zx_vmo_set_cache_policy(handle zx_vmo, cache_policy flags[vmo_cache_policy])
|
||||
|
||||
vmo_clone_options = ZX_VMO_CLONE_COPY_ON_WRITE
|
||||
vmo_cache_policy = ZX_CACHE_POLICY_CACHED, ZX_CACHE_POLICY_UNCACHED, ZX_CACHE_POLICY_UNCACHED_DEVICE, ZX_CACHE_POLICY_WRITE_COMBINING
|
||||
|
@ -1,4 +1,8 @@
|
||||
# AUTOGENERATED FILE
|
||||
ZX_CACHE_POLICY_CACHED = 0
|
||||
ZX_CACHE_POLICY_UNCACHED = 1
|
||||
ZX_CACHE_POLICY_UNCACHED_DEVICE = 2
|
||||
ZX_CACHE_POLICY_WRITE_COMBINING = 3
|
||||
ZX_VMO_CLONE_COPY_ON_WRITE = 1
|
||||
ZX_VMO_OP_CACHE_CLEAN = 8
|
||||
ZX_VMO_OP_CACHE_CLEAN_INVALIDATE = 9
|
||||
|
@ -1,4 +1,8 @@
|
||||
# AUTOGENERATED FILE
|
||||
ZX_CACHE_POLICY_CACHED = 0
|
||||
ZX_CACHE_POLICY_UNCACHED = 1
|
||||
ZX_CACHE_POLICY_UNCACHED_DEVICE = 2
|
||||
ZX_CACHE_POLICY_WRITE_COMBINING = 3
|
||||
ZX_VMO_CLONE_COPY_ON_WRITE = 1
|
||||
ZX_VMO_OP_CACHE_CLEAN = 8
|
||||
ZX_VMO_OP_CACHE_CLEAN_INVALIDATE = 9
|
||||
|
@ -38,6 +38,7 @@ func extract(info *compiler.ConstInfo, cc string, args []string, addSource strin
|
||||
"error: ‘([a-zA-Z0-9_]+)’ undeclared",
|
||||
"error: '([a-zA-Z0-9_]+)' undeclared",
|
||||
"note: in expansion of macro ‘([a-zA-Z0-9_]+)’",
|
||||
"error: use of undeclared identifier '([a-zA-Z0-9_]+)'",
|
||||
} {
|
||||
re := regexp.MustCompile(errMsg)
|
||||
matches := re.FindAllSubmatch(out, -1)
|
||||
|
Loading…
Reference in New Issue
Block a user