aboutsummaryrefslogtreecommitdiffstats
path: root/sys/targets
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 /sys/targets
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.
Diffstat (limited to 'sys/targets')
-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: {