Treat musl like glibc am: dd90b872c8 am: 6fe1106138 am: f6c546a5cc am: 385c784133 am: 8ff62d0fd6

Original change: https://android-review.googlesource.com/c/platform/external/newfs_msdos/+/1826852

Change-Id: Ibbfb1eadb19ce94a597ea13d3e66573e0ced5bab
diff --git a/freebsd-compat.h b/freebsd-compat.h
index 1fdbafe..7ab9d70 100644
--- a/freebsd-compat.h
+++ b/freebsd-compat.h
@@ -20,17 +20,17 @@
 #if __has_include(<sys/sysctl.h>)
 #include <sys/sysctl.h>
 #endif
-// Bionic, like the BSDs, has __unused. glibc doesn't.
-#if defined(__GLIBC__)
+// Bionic, like the BSDs, has __unused. glibc and musl don't.
+#if defined(__GLIBC__) || defined(ANDROID_HOST_MUSL)
 #define __unused __attribute__((__unused__))
 #endif
-// Neither macOS nor glibc has __packed.
-#if defined(__APPLE__) || defined(__GLIBC__)
+// Neither macOS, glibc nor musl has __packed.
+#if defined(__APPLE__) || defined(__GLIBC__) || defined(ANDROID_HOST_MUSL)
 #define __packed __attribute__((__packed__))
 #endif
 
-// The BSDs (including Android and macOS) have getprogname(), but glibc doesn't.
-#if defined(__GLIBC__)
+// The BSDs (including Android and macOS) have getprogname(), but glibc and musl don't.
+#if defined(__GLIBC__) || defined(ANDROID_HOST_MUSL)
 #include <errno.h>
 static inline char* getprogname() { return program_invocation_short_name; }
 #endif