mirror of
https://git.proxmox.com/git/llvm-toolchain
synced 2025-06-13 07:48:46 +00:00

* Disable the usage of binutils-gold under armel. It currently fails with: "attempt to map 2752512 bytes at offset 2066666 exceeds size of file; the file may be corrupt"
308 lines
9.8 KiB
Diff
308 lines
9.8 KiB
Diff
--- a/lldb/source/Host/common/Host.cpp
|
|
+++ b/lldb/source/Host/common/Host.cpp
|
|
@@ -27,7 +27,7 @@
|
|
#include <mach-o/dyld.h>
|
|
#include <mach/mach_port.h>
|
|
|
|
-#elif defined (__linux__) || defined(__FreeBSD_kernel__)
|
|
+#elif defined (__linux__) || defined(__GLIBC__)
|
|
/* Linux or the FreeBSD kernel with glibc (Debian KFreeBSD for example) */
|
|
|
|
#include <sys/wait.h>
|
|
@@ -524,7 +524,7 @@
|
|
{
|
|
}
|
|
|
|
-#if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined (__linux__) // see macosx/Host.mm
|
|
+#if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined (__FreeBSD_kernel__) && !defined (__linux__) // see macosx/Host.mm
|
|
|
|
void
|
|
Host::ThreadCreated (const char *thread_name)
|
|
@@ -544,7 +544,7 @@
|
|
return 0;
|
|
}
|
|
|
|
-#endif // #if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined (__linux__)
|
|
+#endif // #if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined (__FreeBSD_kernel__) && !defined (__linux__)
|
|
|
|
struct HostThreadCreateInfo
|
|
{
|
|
@@ -684,7 +684,7 @@
|
|
return true;
|
|
}
|
|
return false;
|
|
-#elif defined (__linux__)
|
|
+#elif defined (__linux__) || defined (__GLIBC__)
|
|
void *fn = dlsym (RTLD_DEFAULT, "pthread_setname_np");
|
|
if (fn)
|
|
{
|
|
@@ -742,7 +742,7 @@
|
|
exe_path[len] = 0;
|
|
g_program_filespec.SetFile(exe_path, false);
|
|
}
|
|
-#elif defined (__FreeBSD__)
|
|
+#elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__)
|
|
int exe_path_mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, getpid() };
|
|
size_t exe_path_size;
|
|
if (sysctl(exe_path_mib, 4, NULL, &exe_path_size, NULL, 0) == 0)
|
|
@@ -1180,7 +1180,7 @@
|
|
return NULL;
|
|
}
|
|
|
|
-#if !defined (__APPLE__) && !defined (__FreeBSD__) // see macosx/Host.mm
|
|
+#if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined (__FreeBSD_kernel__) // see macosx/Host.mm
|
|
bool
|
|
Host::GetOSBuildString (std::string &s)
|
|
{
|
|
@@ -1229,7 +1229,7 @@
|
|
}
|
|
#endif // #if !defined (__APPLE__) && !defined(__linux__)
|
|
|
|
-#if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined(__linux__)
|
|
+#if !defined (__APPLE__) && !defined (__FreeBSD__) && !defined (__FreeBSD_kernel__) && !defined(__linux__)
|
|
bool
|
|
Host::GetProcessInfo (lldb::pid_t pid, ProcessInstanceInfo &process_info)
|
|
{
|
|
@@ -1443,7 +1443,7 @@
|
|
static uint32_t g_num_cores = UINT32_MAX;
|
|
if (g_num_cores == UINT32_MAX)
|
|
{
|
|
-#if defined(__APPLE__) or defined (__linux__) or defined (__FreeBSD__)
|
|
+#if defined(__APPLE__) or defined (__linux__) or defined (__FreeBSD__) or defined (__FreeBSD_kernel__)
|
|
|
|
g_num_cores = ::sysconf(_SC_NPROCESSORS_ONLN);
|
|
|
|
--- a/Makefile.rules
|
|
+++ b/Makefile.rules
|
|
@@ -275,10 +275,12 @@
|
|
BuildMode := Release
|
|
# Don't use -fomit-frame-pointer on Darwin or FreeBSD.
|
|
ifneq ($(HOST_OS),FreeBSD)
|
|
+ ifneq ($(HOST_OS),GNU/kFreeBSD)
|
|
ifneq ($(HOST_OS),Darwin)
|
|
OmitFramePointer := -fomit-frame-pointer
|
|
endif
|
|
endif
|
|
+ endif
|
|
|
|
CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
|
|
C.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
|
|
@@ -1454,7 +1456,7 @@
|
|
endif
|
|
endif
|
|
|
|
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD GNU))
|
|
+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD GNU/kFreeBSD GNU))
|
|
ifneq ($(ARCH), Mips)
|
|
LD.Flags += -Wl,--version-script=$(LLVM_SRC_ROOT)/autoconf/ExportMap.map
|
|
endif
|
|
--- a/autoconf/configure.ac
|
|
+++ b/autoconf/configure.ac
|
|
@@ -222,11 +222,16 @@
|
|
llvm_cv_no_link_all_option="-Wl,-noall_load"
|
|
llvm_cv_os_type="Minix"
|
|
llvm_cv_platform_type="Unix" ;;
|
|
- *-*-freebsd* | *-*-kfreebsd-gnu)
|
|
+ *-*-freebsd*)
|
|
llvm_cv_link_all_option="-Wl,--whole-archive"
|
|
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
|
llvm_cv_os_type="FreeBSD"
|
|
llvm_cv_platform_type="Unix" ;;
|
|
+ *-*-kfreebsd-gnu)
|
|
+ llvm_cv_link_all_option="-Wl,--whole-archive"
|
|
+ llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
|
+ llvm_cv_os_type="GNU/kFreeBSD"
|
|
+ llvm_cv_platform_type="Unix" ;;
|
|
*-*-openbsd*)
|
|
llvm_cv_link_all_option="-Wl,--whole-archive"
|
|
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
|
@@ -317,8 +322,10 @@
|
|
llvm_cv_target_os_type="Darwin" ;;
|
|
*-*-minix*)
|
|
llvm_cv_target_os_type="Minix" ;;
|
|
- *-*-freebsd* | *-*-kfreebsd-gnu)
|
|
+ *-*-freebsd*)
|
|
llvm_cv_target_os_type="FreeBSD" ;;
|
|
+ *-*-kfreebsd-gnu)
|
|
+ llvm_cv_target_os_type="GNU/kFreeBSD" ;;
|
|
*-*-openbsd*)
|
|
llvm_cv_target_os_type="OpenBSD" ;;
|
|
*-*-netbsd*)
|
|
--- a/clang/tools/libclang/Makefile
|
|
+++ b/clang/tools/libclang/Makefile
|
|
@@ -30,7 +30,7 @@
|
|
include $(CLANG_LEVEL)/Makefile
|
|
|
|
# Add soname to the library.
|
|
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU))
|
|
+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD))
|
|
LDFLAGS += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT).$(SONAME_MAJOR)
|
|
endif
|
|
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -3824,11 +3824,16 @@
|
|
llvm_cv_no_link_all_option="-Wl,-noall_load"
|
|
llvm_cv_os_type="Minix"
|
|
llvm_cv_platform_type="Unix" ;;
|
|
- *-*-freebsd* | *-*-kfreebsd-gnu)
|
|
+ *-*-freebsd*)
|
|
llvm_cv_link_all_option="-Wl,--whole-archive"
|
|
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
|
llvm_cv_os_type="FreeBSD"
|
|
llvm_cv_platform_type="Unix" ;;
|
|
+ *-*-kfreebsd-gnu)
|
|
+ llvm_cv_link_all_option="-Wl,--whole-archive"
|
|
+ llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
|
+ llvm_cv_os_type="GNU/kFreeBSD"
|
|
+ llvm_cv_platform_type="Unix" ;;
|
|
*-*-openbsd*)
|
|
llvm_cv_link_all_option="-Wl,--whole-archive"
|
|
llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
|
|
@@ -3925,8 +3930,10 @@
|
|
llvm_cv_target_os_type="Darwin" ;;
|
|
*-*-minix*)
|
|
llvm_cv_target_os_type="Minix" ;;
|
|
- *-*-freebsd* | *-*-kfreebsd-gnu)
|
|
+ *-*-freebsd*)
|
|
llvm_cv_target_os_type="FreeBSD" ;;
|
|
+ *-*-kfreebsd-gnu)
|
|
+ llvm_cv_target_os_type="GNU/kFreeBSD" ;;
|
|
*-*-openbsd*)
|
|
llvm_cv_target_os_type="OpenBSD" ;;
|
|
*-*-netbsd*)
|
|
--- a/lldb/lib/Makefile
|
|
+++ b/lldb/lib/Makefile
|
|
@@ -99,7 +99,7 @@
|
|
lldbPluginDynamicLoaderMacOSX.a
|
|
endif
|
|
|
|
-ifeq ($(HOST_OS),FreeBSD)
|
|
+ifneq (,$(filter $(HOST_OS), FreeBSD GNU/kFreeBSD))
|
|
USEDLIBS += lldbHostFreeBSD.a \
|
|
lldbPluginProcessPOSIX.a \
|
|
lldbPluginProcessFreeBSD.a
|
|
@@ -132,7 +132,7 @@
|
|
endif
|
|
endif
|
|
|
|
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU))
|
|
+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD))
|
|
# Include everything from the .a's into the shared library.
|
|
ProjLibsOptions := -Wl,--whole-archive $(ProjLibsOptions) \
|
|
-Wl,--no-whole-archive
|
|
--- a/lldb/source/Host/Makefile
|
|
+++ b/lldb/source/Host/Makefile
|
|
@@ -21,7 +21,7 @@
|
|
DIRS += linux
|
|
endif
|
|
|
|
-ifeq ($(HOST_OS),FreeBSD)
|
|
+ifneq (,$(filter $(HOST_OS), FreeBSD GNU/kFreeBSD))
|
|
DIRS += freebsd
|
|
endif
|
|
|
|
--- a/lldb/source/Plugins/Platform/Makefile
|
|
+++ b/lldb/source/Plugins/Platform/Makefile
|
|
@@ -24,5 +24,9 @@
|
|
# ifeq ($(HOST_OS),FreeBSD)
|
|
# DIRS += FreeBSD
|
|
# endif
|
|
+#
|
|
+# ifeq ($(HOST_OS),GNU/kFreeBSD)
|
|
+# DIRS += FreeBSD
|
|
+# endif
|
|
|
|
include $(LLDB_LEVEL)/Makefile
|
|
--- a/lldb/source/Plugins/Process/POSIX/Makefile
|
|
+++ b/lldb/source/Plugins/Process/POSIX/Makefile
|
|
@@ -24,7 +24,7 @@
|
|
CPPFLAGS += -Wno-extended-offsetof
|
|
endif
|
|
|
|
-ifeq ($(HOST_OS),FreeBSD)
|
|
+ifneq (,$(filter $(HOST_OS), FreeBSD GNU/kFreeBSD))
|
|
# Extend the include path so we may locate ProcessMonitor
|
|
CPPFLAGS += -I$(PROJ_SRC_DIR)/$(LLDB_LEVEL)/source/Plugins/Process/FreeBSD
|
|
endif
|
|
--- a/projects/sample/Makefile.llvm.rules
|
|
+++ b/projects/sample/Makefile.llvm.rules
|
|
@@ -208,10 +208,12 @@
|
|
BuildMode := Release
|
|
# Don't use -fomit-frame-pointer on Darwin or FreeBSD.
|
|
ifneq ($(HOST_OS),FreeBSD)
|
|
+ ifneq ($(HOST_OS),GNU/kFreeBSD)
|
|
ifneq ($(HOST_OS),Darwin)
|
|
OmitFramePointer := -fomit-frame-pointer
|
|
endif
|
|
endif
|
|
+ endif
|
|
|
|
# Darwin requires -fstrict-aliasing to be explicitly enabled.
|
|
# Avoid -fstrict-aliasing on Darwin for now, there are unresolved issues
|
|
@@ -1372,7 +1374,7 @@
|
|
endif
|
|
endif
|
|
|
|
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD))
|
|
+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux NetBSD FreeBSD GNU/kFreeBSD))
|
|
ifneq ($(ARCH), Mips)
|
|
LD.Flags += -Wl,--version-script=$(PROJ_SRC_ROOT)/autoconf/ExportMap.map
|
|
endif
|
|
--- a/tools/llvm-shlib/Makefile
|
|
+++ b/tools/llvm-shlib/Makefile
|
|
@@ -69,18 +69,18 @@
|
|
endif
|
|
endif
|
|
|
|
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD OpenBSD GNU Bitrig))
|
|
+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU/kFreeBSD OpenBSD GNU Bitrig))
|
|
# Include everything from the .a's into the shared library.
|
|
LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsOptions) \
|
|
-Wl,--no-whole-archive
|
|
endif
|
|
|
|
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU))
|
|
+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU/kFreeBSD GNU))
|
|
# Add soname to the library.
|
|
LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT).1 -Wl,-Bsymbolic-functions
|
|
endif
|
|
|
|
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU))
|
|
+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux GNU GNU/kFreeBSD))
|
|
# Don't allow unresolved symbols.
|
|
LLVMLibsOptions += -Wl,--no-undefined
|
|
endif
|
|
--- a/lldb/source/Plugins/Makefile
|
|
+++ b/lldb/source/Plugins/Makefile
|
|
@@ -36,7 +36,7 @@
|
|
DIRS += Process/Linux Process/POSIX
|
|
endif
|
|
|
|
-ifeq ($(HOST_OS),FreeBSD)
|
|
+ifneq (,$(filter $(HOST_OS), FreeBSD GNU/kFreeBSD))
|
|
DIRS += Process/FreeBSD Process/POSIX
|
|
endif
|
|
|
|
--- a/lldb/tools/driver/Makefile
|
|
+++ b/lldb/tools/driver/Makefile
|
|
@@ -21,7 +21,7 @@
|
|
LLVMLibsOptions += -Wl,-sectcreate -Wl,__TEXT -Wl,__info_plist -Wl,"$(PROJ_SRC_DIR)/lldb-Info.plist"
|
|
endif
|
|
|
|
-ifeq ($(HOST_OS),Linux)
|
|
+ifneq (,$(filter $(HOST_OS), Linux GNU/kFreeBSD))
|
|
LLVMLibsOptions += -Wl,-rpath,$(LibDir)
|
|
endif
|
|
|
|
--- a/lldb/tools/lldb-platform/Makefile
|
|
+++ b/lldb/tools/lldb-platform/Makefile
|
|
@@ -18,6 +18,6 @@
|
|
LLVMLibsOptions += -Wl,-rpath,@loader_path/../lib/
|
|
endif
|
|
|
|
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD))
|
|
+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU/kFreeBSD))
|
|
LLVMLibsOptions += -Wl,-rpath,$(LibDir)
|
|
endif
|