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 | |
| 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.
| -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: { |
