aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Johnston <markjdb@gmail.com>2020-03-26 15:25:42 -0400
committerDmitry Vyukov <dvyukov@google.com>2020-03-27 05:51:58 +0100
commitbe07a9be5eba71b93c2089f5cf133a235b18fa21 (patch)
tree8deadfe4742e3c17c9536b5487f77d0c83338c8b
parent87abd520f8d5796334f10c62e1ae1af621284694 (diff)
sys/freebsd: add __realpathat system call
-rw-r--r--executor/defs.h4
-rw-r--r--executor/syscalls.h2
-rw-r--r--sys/freebsd/gen/386.go10
-rw-r--r--sys/freebsd/gen/amd64.go10
-rw-r--r--sys/freebsd/sys.txt2
-rw-r--r--sys/freebsd/sys_386.const1
-rw-r--r--sys/freebsd/sys_amd64.const1
7 files changed, 26 insertions, 4 deletions
diff --git a/executor/defs.h b/executor/defs.h
index 3e0d74f6f..7862b7678 100644
--- a/executor/defs.h
+++ b/executor/defs.h
@@ -20,7 +20,7 @@
#if GOARCH_386
#define GOARCH "386"
-#define SYZ_REVISION "9153d8fbbe6b117424690a313cf2b7a3a1f02c34"
+#define SYZ_REVISION "27b0c289c0d78fe767ad2fbe062383e89cef0180"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -30,7 +30,7 @@
#if GOARCH_amd64
#define GOARCH "amd64"
-#define SYZ_REVISION "b3574571fbfa175bbf91c857af8d5e6db2d92ccf"
+#define SYZ_REVISION "5d7c29fe9b21a5007b1d3b4f13d51931ecd5d703"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
diff --git a/executor/syscalls.h b/executor/syscalls.h
index ced2bbee3..667816ae2 100644
--- a/executor/syscalls.h
+++ b/executor/syscalls.h
@@ -227,6 +227,7 @@ const call_t syscalls[] = {
#if GOARCH_386
const call_t syscalls[] = {
{"__getcwd", 326},
+ {"__realpathat", 574},
{"__semctl$GETALL", 510},
{"__semctl$GETNCNT", 510},
{"__semctl$GETPID", 510},
@@ -747,6 +748,7 @@ const call_t syscalls[] = {
#if GOARCH_amd64
const call_t syscalls[] = {
{"__getcwd", 326},
+ {"__realpathat", 574},
{"__semctl$GETALL", 510},
{"__semctl$GETNCNT", 510},
{"__semctl$GETPID", 510},
diff --git a/sys/freebsd/gen/386.go b/sys/freebsd/gen/386.go
index 5d528ee43..82f46eecd 100644
--- a/sys/freebsd/gen/386.go
+++ b/sys/freebsd/gen/386.go
@@ -1779,6 +1779,13 @@ var syscalls_386 = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 4}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Path: []string{"buf"}},
}},
+ {NR: 574, Name: "__realpathat", CallName: "__realpathat", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "dirfd", TypeSize: 4}},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 4}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", ArgDir: 1, IsVarlen: true}, Kind: 2}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Path: []string{"buf"}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "realpathat_flags", FldName: "flags", TypeSize: 4}}},
+ }},
{NR: 510, Name: "__semctl$GETALL", CallName: "__semctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_sem", FldName: "semid", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "semnum", TypeSize: 4}}},
@@ -5626,6 +5633,7 @@ var consts_386 = []ConstValue{
{"SPP_PMTUD_DISABLE", 16},
{"SPP_PMTUD_ENABLE", 8},
{"SYS___getcwd", 326},
+ {"SYS___realpathat", 574},
{"SYS___semctl", 510},
{"SYS_accept", 30},
{"SYS_accept4", 541},
@@ -5850,4 +5858,4 @@ var consts_386 = []ConstValue{
{"WUNTRACED", 2},
}
-const revision_386 = "9153d8fbbe6b117424690a313cf2b7a3a1f02c34"
+const revision_386 = "27b0c289c0d78fe767ad2fbe062383e89cef0180"
diff --git a/sys/freebsd/gen/amd64.go b/sys/freebsd/gen/amd64.go
index 2337a86a8..b35247cdf 100644
--- a/sys/freebsd/gen/amd64.go
+++ b/sys/freebsd/gen/amd64.go
@@ -1806,6 +1806,13 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Path: []string{"buf"}},
}},
+ {NR: 574, Name: "__realpathat", CallName: "__realpathat", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "dirfd", TypeSize: 4}},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", ArgDir: 1, IsVarlen: true}, Kind: 2}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Path: []string{"buf"}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "realpathat_flags", FldName: "flags", TypeSize: 8}}},
+ }},
{NR: 510, Name: "__semctl$GETALL", CallName: "__semctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_sem", FldName: "semid", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "semnum", TypeSize: 8}}},
@@ -5653,6 +5660,7 @@ var consts_amd64 = []ConstValue{
{"SPP_PMTUD_DISABLE", 16},
{"SPP_PMTUD_ENABLE", 8},
{"SYS___getcwd", 326},
+ {"SYS___realpathat", 574},
{"SYS___semctl", 510},
{"SYS_accept", 30},
{"SYS_accept4", 541},
@@ -5877,4 +5885,4 @@ var consts_amd64 = []ConstValue{
{"WUNTRACED", 2},
}
-const revision_amd64 = "b3574571fbfa175bbf91c857af8d5e6db2d92ccf"
+const revision_amd64 = "5d7c29fe9b21a5007b1d3b4f13d51931ecd5d703"
diff --git a/sys/freebsd/sys.txt b/sys/freebsd/sys.txt
index db3ca85d9..17611195e 100644
--- a/sys/freebsd/sys.txt
+++ b/sys/freebsd/sys.txt
@@ -110,6 +110,7 @@ __getcwd(buf buffer[out], size len[buf])
chdir(dir ptr[in, filename])
fchdir(fd fd)
copy_file_range(infd fd, inoffp ptr[inout, fileoff[int64]], outfd fd, outoffp ptr[inout, fileoff[int64]], len int64, flags flags[copy_file_range_flags])
+__realpathat(dirfd fd, path ptr[in, filename], buf ptr[out, string], size len[buf], flags flags[realpathat_flags])
getrusage(who flags[rusage_who], usage ptr[out, rusage])
getrlimit(res flags[rlimit_type], rlim ptr[out, rlimit])
@@ -222,4 +223,5 @@ fcntl_status = O_APPEND, FASYNC, O_DIRECT, O_NONBLOCK
flock_type = F_RDLCK, F_WRLCK, F_UNLCK
minherit_flags = INHERIT_SHARE, INHERIT_NONE, INHERIT_COPY, INHERIT_ZERO
copy_file_range_flags = 0
+realpathat_flags = 0
chflags_flags = SF_APPEND, SF_ARCHIVED, SF_IMMUTABLE, SF_NOUNLINK, SF_SNAPSHOT, UF_APPEND, UF_ARCHIVE, UF_HIDDEN, UF_IMMUTABLE, UF_NODUMP, UF_NOUNLINK, UF_OFFLINE, UF_OPAQUE, UF_READONLY, UF_REPARSE, UF_SPARSE, UF_SYSTEM
diff --git a/sys/freebsd/sys_386.const b/sys/freebsd/sys_386.const
index 480332e82..f1733c2f1 100644
--- a/sys/freebsd/sys_386.const
+++ b/sys/freebsd/sys_386.const
@@ -72,6 +72,7 @@ SF_SNAPSHOT = 2097152
SF_SYNC = 4
SF_USER_READAHEAD = 8
SYS___getcwd = 326
+SYS___realpathat = 574
SYS_chdir = 12
SYS_chflags = 34
SYS_chflagsat = 540
diff --git a/sys/freebsd/sys_amd64.const b/sys/freebsd/sys_amd64.const
index 480332e82..f1733c2f1 100644
--- a/sys/freebsd/sys_amd64.const
+++ b/sys/freebsd/sys_amd64.const
@@ -72,6 +72,7 @@ SF_SNAPSHOT = 2097152
SF_SYNC = 4
SF_USER_READAHEAD = 8
SYS___getcwd = 326
+SYS___realpathat = 574
SYS_chdir = 12
SYS_chflags = 34
SYS_chflagsat = 540