Skip to content

Commit

Permalink
Support running FreeBSD buildworld on Arm-based macOS hosts
Browse files Browse the repository at this point in the history
Arm-based Macs are like FreeBSD and provide a full 64-bit stat from the
start, so have no stat64 variants. Thus, define stat64 and fstat64 as
aliases for the normal versions.

Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
Closes openzfs#11771
  • Loading branch information
jrtc27 authored and RageLtMan committed May 31, 2021
1 parent f07f95c commit 184cfde
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions lib/libspl/include/os/freebsd/sys/stat.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
#include_next <sys/stat.h>

/* Note: this file can be used on linux/macOS when bootstrapping tools. */

#if defined(__FreeBSD__)
#include <sys/mount.h> /* for BLKGETSIZE64 */

Expand Down Expand Up @@ -71,4 +72,14 @@ fstat64_blk(int fd, struct stat64 *st)
return (0);
}
#endif /* defined(__FreeBSD__) */

/*
* Only Intel-based Macs have a separate stat64; Arm-based Macs are like
* FreeBSD and have a full 64-bit stat from the start.
*/
#if defined(__APPLE__) && !(defined(__i386__) || defined(__x86_64__))
#define stat64 stat
#define fstat64 fstat
#endif

#endif /* _LIBSPL_SYS_STAT_H */

0 comments on commit 184cfde

Please sign in to comment.