From c090b4da255257841173fb4eb18c19d69b293180 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Wed, 9 Dec 2020 09:22:43 -0500 Subject: 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. --- sys/targets/targets.go | 44 ++++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 12 deletions(-) (limited to 'sys') 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: { -- cgit mrf-deployment