[compiler-rt] Include missing headers for libFuzzer (#146828)

This is to fix modules build errors in chromium like
*
https://ci.chromium.org/ui/p/chromium/builders/try/linux-libfuzzer-asan-rel/2292144/overview
*
https://ci.chromium.org/ui/p/chromium/builders/try/linux-libfuzzer-asan-rel/2292444/overview

---------

Co-authored-by: Petr Hosek <[email protected]>
NOKEYCHECK=True
GitOrigin-RevId: f7cdff7bddcb168094b569b15d2bfaef0526c244
diff --git a/FuzzerDriver.cpp b/FuzzerDriver.cpp
index 3771abf..40322e2 100644
--- a/FuzzerDriver.cpp
+++ b/FuzzerDriver.cpp
@@ -24,10 +24,11 @@
 #include <chrono>
 #include <cstdlib>
 #include <cstring>
+#include <fstream>
+#include <functional>
 #include <mutex>
 #include <string>
 #include <thread>
-#include <fstream>
 
 // This function should be present in the libFuzzer so that the client
 // binary can test for its existence.
diff --git a/FuzzerIOPosix.cpp b/FuzzerIOPosix.cpp
index 3700fb0..f145ddd 100644
--- a/FuzzerIOPosix.cpp
+++ b/FuzzerIOPosix.cpp
@@ -12,6 +12,7 @@
 
 #include "FuzzerExtFunctions.h"
 #include "FuzzerIO.h"
+#include <cerrno>
 #include <cstdarg>
 #include <cstdio>
 #include <dirent.h>
diff --git a/FuzzerRandom.h b/FuzzerRandom.h
index ad6c07e..b12fc21 100644
--- a/FuzzerRandom.h
+++ b/FuzzerRandom.h
@@ -11,6 +11,7 @@
 #ifndef LLVM_FUZZER_RANDOM_H
 #define LLVM_FUZZER_RANDOM_H
 
+#include <cmath>
 #include <random>
 
 namespace fuzzer {