llvm-toolchain/debian/patches/kfreebsd_v2.diff
Sylvestre Ledru 81435e71e4 * Remove usr/lib/llvm-3.4/build/autoconf/LICENSE.TXT
* silent warning "manpage-has-useless-whatis-entry" in lldb-3.4
* silent warning "package-name-doesnt-match-sonames libclang1"
* Refresh patch kfreebsd_v2.diff to, maybe, fix lldb build under kfreebsd.
  Thanks to Ed Maste for the patch.
2013-11-26 14:06:22 +00:00

320 lines
10 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
--- a/lldb/source/Host/common/Host.cpp
+++ b/lldb/source/Host/common/Host.cpp
@@ -1569,7 +1569,7 @@ Host::RunShellCommand (const char *command,
return error;
}
-#if defined(__linux__) or defined(__FreeBSD__)
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__GLIBC__)
// The functions below implement process launching via posix_spawn() for Linux
// and FreeBSD.