mirror of
				https://git.proxmox.com/git/llvm-toolchain
				synced 2025-11-04 07:14:33 +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
 |