Fuchsia: define DETECT_OS_UNIX as recommended upstream

Run-all-tests: true

Change-Id: Ieb618abfdeef3ec17802523dbd4674e1d5971846
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/mesa/+/1060102
Reviewed-by: John Bauman <jbauman@google.com>
Commit-Queue: Craig Stout <cstout@google.com>
diff --git a/src/util/BUILD.gn b/src/util/BUILD.gn
index 85cbe82..3668f4a 100644
--- a/src/util/BUILD.gn
+++ b/src/util/BUILD.gn
@@ -104,6 +104,8 @@
   public_configs = [ ":util_public_config" ]
 
   sources = [
+    "anon_file.h",
+    "anon_file.c",
     "bigmath.h",
     "bitscan.c",
     "bitscan.h",
diff --git a/src/util/detect_os.h b/src/util/detect_os.h
index 83cd4e6..3d5123a 100644
--- a/src/util/detect_os.h
+++ b/src/util/detect_os.h
@@ -17,6 +17,8 @@
 
 #if defined(__Fuchsia__)
 #define DETECT_OS_FUCHSIA 1
+/* Fuchsia supports a subset of POSIX */
+#define DETECT_OS_UNIX 1
 #endif
 
 #if defined(__linux__)
diff --git a/src/util/os_misc.c b/src/util/os_misc.c
index 93fd6a8..724e048 100644
--- a/src/util/os_misc.c
+++ b/src/util/os_misc.c
@@ -362,7 +362,7 @@
 bool
 os_get_page_size(uint64_t *size)
 {
-#if (DETECT_OS_UNIX || DETECT_OS_FUCHSIA) && !DETECT_OS_APPLE && !DETECT_OS_HAIKU
+#if DETECT_OS_UNIX && !DETECT_OS_APPLE && !DETECT_OS_HAIKU
    const long page_size = sysconf(_SC_PAGE_SIZE);
 
    if (page_size <= 0)
diff --git a/src/util/os_time.c b/src/util/os_time.c
index 608fd26..913ca5c 100644
--- a/src/util/os_time.c
+++ b/src/util/os_time.c
@@ -37,7 +37,7 @@
 
 #include "util/u_atomic.h"
 
-#if DETECT_OS_UNIX || DETECT_OS_FUCHSIA
+#if DETECT_OS_UNIX
 #  include <unistd.h> /* usleep */
 #  include <time.h> /* timeval */
 #  include <sys/time.h> /* timeval */
@@ -145,7 +145,7 @@
 
    if (timeout == OS_TIMEOUT_INFINITE) {
       while (p_atomic_read(var)) {
-#if DETECT_OS_UNIX || DETECT_OS_FUCHSIA
+#if DETECT_OS_UNIX
          sched_yield();
 #endif
       }
@@ -159,7 +159,7 @@
          if (os_time_timeout(start_time, end_time, os_time_get_nano()))
             return false;
 
-#if DETECT_OS_UNIX || DETECT_OS_FUCHSIA
+#if DETECT_OS_UNIX
          sched_yield();
 #endif
       }
@@ -181,7 +181,7 @@
       if (os_time_get_nano() >= timeout)
          return false;
 
-#if DETECT_OS_UNIX || DETECT_OS_FUCHSIA
+#if DETECT_OS_UNIX
       sched_yield();
 #endif
    }
diff --git a/src/util/u_dl.c b/src/util/u_dl.c
index 171106a..c0c0cbc 100644
--- a/src/util/u_dl.c
+++ b/src/util/u_dl.c
@@ -29,7 +29,7 @@
 
 #include "detect_os.h"
 
-#if DETECT_OS_UNIX || DETECT_OS_FUCHSIA
+#if DETECT_OS_UNIX
 #include <dlfcn.h>
 #endif
 #if DETECT_OS_WINDOWS
@@ -43,7 +43,7 @@
 struct util_dl_library *
 util_dl_open(const char *filename)
 {
-#if DETECT_OS_UNIX || DETECT_OS_FUCHSIA
+#if DETECT_OS_UNIX
    return (struct util_dl_library *)dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
 #elif DETECT_OS_WINDOWS
    return (struct util_dl_library *)LoadLibraryA(filename);
@@ -57,7 +57,7 @@
 util_dl_get_proc_address(struct util_dl_library *library,
                          const char *procname)
 {
-#if DETECT_OS_UNIX || DETECT_OS_FUCHSIA
+#if DETECT_OS_UNIX
    return (util_dl_proc) pointer_to_func(dlsym((void *)library, procname));
 #elif DETECT_OS_WINDOWS
    return (util_dl_proc)GetProcAddress((HMODULE)library, procname);
@@ -70,7 +70,7 @@
 void
 util_dl_close(struct util_dl_library *library)
 {
-#if DETECT_OS_UNIX || DETECT_OS_FUCHSIA
+#if DETECT_OS_UNIX
    dlclose((void *)library);
 #elif DETECT_OS_WINDOWS
    FreeLibrary((HMODULE)library);
@@ -83,7 +83,7 @@
 const char *
 util_dl_error(void)
 {
-#if DETECT_OS_UNIX || DETECT_OS_FUCHSIA
+#if DETECT_OS_UNIX
    return dlerror();
 #elif DETECT_OS_WINDOWS
    return "unknown error";