diff options
author | Jessica Clarke <[email protected]> | 2021-03-26 17:45:12 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-03-26 10:45:12 -0700 |
commit | ef977fce66369e11769eaba0839dca19d4ddb484 (patch) | |
tree | e8f58f5beb49847a0189c85240a448c35a613c41 | |
parent | 8a915ba1f66edc3863c0dcb1c2a4f83582cd4a94 (diff) |
Support running FreeBSD buildworld on Arm-based macOS hosts
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 <[email protected]>
Signed-off-by: Jessica Clarke <[email protected]>
Closes #11771
-rw-r--r-- | lib/libspl/include/os/freebsd/sys/stat.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/libspl/include/os/freebsd/sys/stat.h b/lib/libspl/include/os/freebsd/sys/stat.h index 07f9762f0..38c684d62 100644 --- a/lib/libspl/include/os/freebsd/sys/stat.h +++ b/lib/libspl/include/os/freebsd/sys/stat.h @@ -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 */ @@ -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 */ |