endif(ARM_SOFTFP)
endif(CLR_CMAKE_PLATFORM_UNIX_ARM)
+if(CLR_CMAKE_PLATFORM_FREEBSD)
+ add_compile_options(-Wno-macro-redefined)
+ add_compile_options(-Wno-pointer-to-int-cast)
+endif(CLR_CMAKE_PLATFORM_FREEBSD)
+
if (WIN32)
# Compile options for targeting windows
for (; i < PATH_MAX; i++)
{
char ch;
- if (!ReadMemory(map.l_name + i, &ch, sizeof(ch))) {
- TRACE("DSO: ReadMemory link_map name %p + %d FAILED\n", map.l_name, i);
+ char* l_name = const_cast<char*>(map.l_name);
+ if (!ReadMemory(l_name + i, &ch, sizeof(ch))) {
+ TRACE("DSO: ReadMemory link_map name %p + %d FAILED\n", map.l_name, i);
break;
- }
+ }
if (ch == '\0') {
break;
}
bool EnumerateLinkMapEntries(ElfW(Dyn)* dynamicAddr);
#endif
bool EnumerateProgramHeaders(ElfW(Phdr)* phdrAddr, int phnum, uint64_t baseAddress, uint64_t* ploadbias, ElfW(Dyn)** pdynamicAddr);
+#ifdef __FreeBSD__
+ virtual void VisitModule(caddr_t baseAddress, std::string& moduleName) { };
+#else
virtual void VisitModule(uint64_t baseAddress, std::string& moduleName) { };
+#endif
virtual void VisitProgramHeader(uint64_t loadbias, uint64_t baseAddress, ElfW(Phdr)* phdr) { };
virtual bool ReadMemory(void* address, void* buffer, size_t size) = 0;
virtual void Trace(const char* format, ...) { };
#include <mach-o/dyld.h>
#endif
+#if defined(__FreeBSD__)
+#include <sys/types.h>
+#include <sys/sysctl.h>
+#endif
+
#include "palclr.h"
#include "arrayholder.h"
#include "coreclrhost.h"
else
{
#ifdef FEATURE_PAL
-#if defined (__FreeBSD__) || defined(__NetBSD__)
- TraceError("Hosting on FreeBSD or NetBSD not supported\n");
+#if defined(__NetBSD__)
+ TraceError("Hosting on NetBSD not supported\n");
return E_FAIL;
#else
char* line = nullptr;
}
}
}
-#endif // defined (__FreeBSD__) || defined(__NetBSD__)
+#endif // defined(__NetBSD__)
#else
ArrayHolder<CHAR> programFiles = new CHAR[MAX_LONGPATH];
if (GetEnvironmentVariableA("PROGRAMFILES", programFiles, MAX_LONGPATH) == 0)
#FreeBSD
find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/local/llvm39/include")
find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/local/llvm38/include")
+ find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/local/llvm12/include")
+ find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/local/llvm11/include")
+ find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/local/llvm10/include")
+ find_path(LLDB_H "lldb/API/LLDB.h" PATHS "/usr/local/llvm90/include")
if(LLDB_H STREQUAL LLDB_H-NOTFOUND)
if(REQUIRE_LLDBPLUGIN)
#error Either sysctl or sysconf is required for GetSystemInfo.
#endif
+#if defined(__FreeBSD__)
+#include <sys/sysctl.h>
+#endif
+
#if HAVE_SYSINFO
#include <sys/sysinfo.h>
#endif