fdatasync is an optional part of POSIX and mkimage uses the more general
fsync on Sun and FreeBSD as an alternative. Add macOS[1] and OpenBSD to the
list as well.
This is in-line with what U-Boot does since 31cbe80c33
("mkimage: fix compilation issues on OpenBSD").
[1]: macOS >=10.7 does indeed define (but not declare anywhere) a seemingly
working fdatasync, but we won't consider this here.
Signed-off-by: Ahmad Fatoum <[email protected]>
---
scripts/mkimage.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/scripts/mkimage.c b/scripts/mkimage.c
index 891d7b6de71c..7d283c550930 100644
--- a/scripts/mkimage.c
+++ b/scripts/mkimage.c
@@ -572,7 +572,11 @@ NXTARG: ;
}
/* We're a bit of paranoid */
-#if defined(_POSIX_SYNCHRONIZED_IO) && !defined(__sun__) &&
!defined(__FreeBSD__)
+#if defined(_POSIX_SYNCHRONIZED_IO) && \
+ !defined(__sun__) && \
+ !defined(__FreeBSD__) && \
+ !defined(__OpenBSD__) && \
+ !defined(__APPLE__)
(void) fdatasync (ifd);
#else
(void) fsync (ifd);
@@ -622,7 +626,11 @@ NXTARG: ;
(void) munmap((void *)ptr, sbuf.st_size);
/* We're a bit of paranoid */
-#if defined(_POSIX_SYNCHRONIZED_IO) && !defined(__sun__) &&
!defined(__FreeBSD__)
+#if defined(_POSIX_SYNCHRONIZED_IO) && \
+ !defined(__sun__) && \
+ !defined(__FreeBSD__) && \
+ !defined(__OpenBSD__) && \
+ !defined(__APPLE__)
(void) fdatasync (ifd);
#else
(void) fsync (ifd);
--
2.20.1
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox