diff options
| author | Mark Johnston <markjdb@gmail.com> | 2020-12-09 09:22:43 -0500 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-12-09 17:20:05 +0100 |
| commit | c090b4da255257841173fb4eb18c19d69b293180 (patch) | |
| tree | d818cd7f628438debd5dabca847eed6d1093043f /sys/targets | |
| parent | 93a9e9646ea735ed4cf2916e08dde04d6b81acac (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.go | 44 |
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: { |
