zfs: Cherry-pick upstream commit ef977fce66 to fix macOS/arm64 bootstrap

Upstream commit message:

  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 <ryan@iXsystems.com>
  Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com>
  Closes #11771

MFC after:	1 week
This commit is contained in:
Jessica Clarke 2021-03-27 02:23:59 +00:00
parent fe496dc02a
commit 3a314eb5bb

View File

@ -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 */