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";