//
//===----------------------------------------------------------------------===//
+#include "llvm/Config/config.h"
#include "llvm/ExecutionEngine/RTDyldMemoryManager.h"
#include "llvm/Support/DynamicLibrary.h"
#include "llvm/Support/ErrorHandling.h"
+#include <cstdlib>
+
+#ifdef __linux__
+ // These includes used by RTDyldMemoryManager::getPointerToNamedFunction()
+ // for Glibc trickery. See comments in this function for more information.
+ #ifdef HAVE_SYS_STAT_H
+ #include <sys/stat.h>
+ #endif
+ #include <fcntl.h>
+ #include <unistd.h>
+#endif
+
namespace llvm {
RTDyldMemoryManager::~RTDyldMemoryManager() {}
static const char *processFDE(const char *Entry) {
const char *P = Entry;
- uint32_t Length = *((uint32_t*)P);
+ uint32_t Length = *((const uint32_t *)P);
P += 4;
- uint32_t Offset = *((uint32_t*)P);
+ uint32_t Offset = *((const uint32_t *)P);
if (Offset != 0)
- __register_frame((void*)Entry);
+ __register_frame(const_cast<char *>(Entry));
return P + Length;
}
#endif