aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Johnston <markjdb@gmail.com>2020-12-09 09:22:43 -0500
committerDmitry Vyukov <dvyukov@google.com>2020-12-09 17:20:05 +0100
commitc090b4da255257841173fb4eb18c19d69b293180 (patch)
treed818cd7f628438debd5dabca847eed6d1093043f
parent93a9e9646ea735ed4cf2916e08dde04d6b81acac (diff)
sys/targets: define NeedSyscallDefine for FreeBSD
Use it to identify several POSIX shared memory system calls that are not known to the syzbot host to avoid spurious test failures.
-rw-r--r--sys/targets/targets.go44
1 files changed, 32 insertions, 12 deletions
diff --git a/sys/targets/targets.go b/sys/targets/targets.go
index 2f6e0c090..73a6a8b11 100644
--- a/sys/targets/targets.go
+++ b/sys/targets/targets.go
@@ -269,12 +269,22 @@ var List = map[string]map[string]*Target{
},
FreeBSD: {
AMD64: {
- PtrSize: 8,
- PageSize: 4 << 10,
- LittleEndian: true,
- CCompiler: "clang",
- CFlags: []string{"-m64"},
- NeedSyscallDefine: dontNeedSyscallDefine,
+ PtrSize: 8,
+ PageSize: 4 << 10,
+ LittleEndian: true,
+ CCompiler: "clang",
+ CFlags: []string{"-m64"},
+ NeedSyscallDefine: func(nr uint64) bool {
+ switch nr {
+ case 482: // SYS_freebsd_12_shm_open
+ return true
+ case 571: // SYS_shm_open2
+ return true
+ case 572: // SYS_shm_rename
+ return true
+ }
+ return false
+ },
},
I386: {
VMArch: AMD64,
@@ -282,12 +292,22 @@ var List = map[string]map[string]*Target{
PageSize: 4 << 10,
// The default DataOffset doesn't work with 32-bit
// FreeBSD and using ld.lld due to collisions.
- DataOffset: 256 << 20,
- Int64Alignment: 4,
- LittleEndian: true,
- CCompiler: "clang",
- CFlags: []string{"-m32"},
- NeedSyscallDefine: dontNeedSyscallDefine,
+ DataOffset: 256 << 20,
+ Int64Alignment: 4,
+ LittleEndian: true,
+ CCompiler: "clang",
+ CFlags: []string{"-m32"},
+ NeedSyscallDefine: func(nr uint64) bool {
+ switch nr {
+ case 482: // SYS_freebsd_12_shm_open
+ return true
+ case 571: // SYS_shm_open2
+ return true
+ case 572: // SYS_shm_rename
+ return true
+ }
+ return false
+ },
},
},
NetBSD: {