From 4fa21dcb57c5a0b7761bfec606ffd0e94c293ce8 Mon Sep 17 00:00:00 2001 From: Ankush Patel Date: Thu, 5 Feb 2026 14:42:40 +1300 Subject: Added basic support for FreeBSD. Freebsd-support: Change bash shebang to use /usr/bin/env Freebsd-support: Fix go vet "undefined" fixes when running make ci freebsd: stub xattr functions /proc/PID/fd does not exist on freebsd. freebsd-support: modify FchmodatNofollow for FreeBSD FreeBSD supports the Fchmodat system call, with the AT_SYMLINK_NOFOLLOW flag. FchmodatNofollow has been modified to use this system call and flag. freebsd-support: PR changes and fixes * Functions in fusefrontend_reverse/node_xattr_freebsd.go have been stubbed for now. * asuser_freebsd.go updated to only run f() when context is nil; otherwise log a warning and return an error. * emulate.go build flags updated, and FreeBSD specific version added. * sys_freebsd.go bug in Renameat2 with RENAME_EXCHANGE flag fixed. FreeBSD does not support atomic file swapping, so this flag now returns an error. * unix2syscall and atime is identical between FreeBSD and Darwin, updated filenames so Go will build the file for FreeBSD and Mac OS. freebsd-support: Addressed more PR comments and fixed build tags --- tests/matrix/atime_darwin+freebsd.go | 11 +++++++++++ tests/matrix/atime_darwin.go | 9 --------- 2 files changed, 11 insertions(+), 9 deletions(-) create mode 100644 tests/matrix/atime_darwin+freebsd.go delete mode 100644 tests/matrix/atime_darwin.go (limited to 'tests/matrix') diff --git a/tests/matrix/atime_darwin+freebsd.go b/tests/matrix/atime_darwin+freebsd.go new file mode 100644 index 0000000..43db0d5 --- /dev/null +++ b/tests/matrix/atime_darwin+freebsd.go @@ -0,0 +1,11 @@ +//go:build darwin || freebsd + +package matrix + +import ( + "syscall" +) + +func extractAtimeMtime(st syscall.Stat_t) [2]syscall.Timespec { + return [2]syscall.Timespec{st.Atimespec, st.Mtimespec} +} diff --git a/tests/matrix/atime_darwin.go b/tests/matrix/atime_darwin.go deleted file mode 100644 index 5f89c69..0000000 --- a/tests/matrix/atime_darwin.go +++ /dev/null @@ -1,9 +0,0 @@ -package matrix - -import ( - "syscall" -) - -func extractAtimeMtime(st syscall.Stat_t) [2]syscall.Timespec { - return [2]syscall.Timespec{st.Atimespec, st.Mtimespec} -} -- cgit v1.2.3