[fuzzer] Platfom specific version of PageSize
GitOrigin-RevId: facf22b8b07b9bbd59a078cce25137b297b5eaae
diff --git a/lib/fuzzer/FuzzerUtil.cpp b/lib/fuzzer/FuzzerUtil.cpp
index 71c3dc1..aeab70f 100644
--- a/lib/fuzzer/FuzzerUtil.cpp
+++ b/lib/fuzzer/FuzzerUtil.cpp
@@ -21,7 +21,6 @@
#include <stdio.h>
#include <sys/types.h>
#include <thread>
-#include <unistd.h>
namespace fuzzer {
@@ -235,9 +234,4 @@
return Res;
}
-size_t PageSize() {
- static size_t PageSizeCached = sysconf(_SC_PAGESIZE);
- return PageSizeCached;
-}
-
} // namespace fuzzer
diff --git a/lib/fuzzer/FuzzerUtilFuchsia.cpp b/lib/fuzzer/FuzzerUtilFuchsia.cpp
index d80b80c..2a21529 100644
--- a/lib/fuzzer/FuzzerUtilFuchsia.cpp
+++ b/lib/fuzzer/FuzzerUtilFuchsia.cpp
@@ -551,6 +551,11 @@
dup2(nullfd, Fd);
}
+size_t PageSize() {
+ static size_t PageSizeCached = _zx_system_get_page_size();
+ return PageSizeCached;
+}
+
} // namespace fuzzer
#endif // LIBFUZZER_FUCHSIA
diff --git a/lib/fuzzer/FuzzerUtilPosix.cpp b/lib/fuzzer/FuzzerUtilPosix.cpp
index 0446d73..392c1e5 100644
--- a/lib/fuzzer/FuzzerUtilPosix.cpp
+++ b/lib/fuzzer/FuzzerUtilPosix.cpp
@@ -183,6 +183,11 @@
return "grep '" + Regex + "'";
}
+size_t PageSize() {
+ static size_t PageSizeCached = sysconf(_SC_PAGESIZE);
+ return PageSizeCached;
+}
+
} // namespace fuzzer
#endif // LIBFUZZER_POSIX
diff --git a/lib/fuzzer/FuzzerUtilWindows.cpp b/lib/fuzzer/FuzzerUtilWindows.cpp
index 3598758..6d9bc76 100644
--- a/lib/fuzzer/FuzzerUtilWindows.cpp
+++ b/lib/fuzzer/FuzzerUtilWindows.cpp
@@ -224,6 +224,15 @@
fclose(Temp);
}
+size_t PageSize() {
+ static size_t PageSizeCached = []() -> size_t {
+ SYSTEM_INFO si;
+ GetSystemInfo(&si);
+ return si.dwPageSize;
+ }();
+ return PageSizeCached;
+}
+
} // namespace fuzzer
#endif // LIBFUZZER_WINDOWS