summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-08-23 12:12:26 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-08-23 12:12:26 +0400
commitb882c2e88a22a060ad7fc965e1f2046ebe641095 (patch)
tree18b2eb1339ffdbe35f5f83b693a46a4ee2969a5a
parent8f46198e544328c600f3cc9579d151834ac49383 (diff)
downloadllvm-toolchain-3.5-b882c2e88a22a060ad7fc965e1f2046ebe641095.tar.gz
Fixed ld flags for Dyson (dyson-gnu-ld.patch)
-rw-r--r--debian/patches/dyson-gnu-ld.patch55
-rw-r--r--debian/patches/series1
2 files changed, 56 insertions, 0 deletions
diff --git a/debian/patches/dyson-gnu-ld.patch b/debian/patches/dyson-gnu-ld.patch
new file mode 100644
index 0000000..7313dca
--- /dev/null
+++ b/debian/patches/dyson-gnu-ld.patch
@@ -0,0 +1,55 @@
+Index: llvm-3.5.git/autoconf/configure.ac
+===================================================================
+--- llvm-3.5.git.orig/autoconf/configure.ac
++++ llvm-3.5.git/autoconf/configure.ac
+@@ -287,8 +287,8 @@ AC_CACHE_CHECK([type of operating system
+ llvm_cv_os_type="GNU"
+ llvm_cv_platform_type="Unix" ;;
+ *-*-solaris*)
+- llvm_cv_link_all_option="-Wl,-z,allextract"
+- llvm_cv_no_link_all_option="-Wl,-z,defaultextract"
++ llvm_cv_link_all_option="-Wl,--whole-archive"
++ llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
+ llvm_cv_os_type="SunOS"
+ llvm_cv_platform_type="Unix" ;;
+ *-*-auroraux*)
+Index: llvm-3.5.git/configure
+===================================================================
+--- llvm-3.5.git.orig/configure
++++ llvm-3.5.git/configure
+@@ -3985,8 +3985,8 @@ else
+ llvm_cv_os_type="GNU"
+ llvm_cv_platform_type="Unix" ;;
+ *-*-solaris*)
+- llvm_cv_link_all_option="-Wl,-z,allextract"
+- llvm_cv_no_link_all_option="-Wl,-z,defaultextract"
++ llvm_cv_link_all_option="-Wl,--whole-archive"
++ llvm_cv_no_link_all_option="-Wl,--no-whole-archive"
+ llvm_cv_os_type="SunOS"
+ llvm_cv_platform_type="Unix" ;;
+ *-*-auroraux*)
+Index: llvm-3.5.git/tools/llvm-shlib/Makefile
+===================================================================
+--- llvm-3.5.git.orig/tools/llvm-shlib/Makefile
++++ llvm-3.5.git/tools/llvm-shlib/Makefile
+@@ -59,7 +59,7 @@ ifeq ($(HOST_OS),Darwin)
+ LLVMLibsOptions := $(LLVMLibsOptions) -all_load
+ endif
+
+-ifeq ($(HOST_OS), $(filter $(HOST_OS), DragonFly Linux FreeBSD GNU/kFreeBSD OpenBSD GNU Bitrig))
++ifeq ($(HOST_OS), $(filter $(HOST_OS), DragonFly Linux FreeBSD GNU/kFreeBSD OpenBSD GNU Bitrig SunOS))
+ # Include everything from the .a's into the shared library.
+ LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsOptions) \
+ -Wl,--no-whole-archive
+@@ -75,11 +75,6 @@ ifeq ($(HOST_OS), $(filter $(HOST_OS), L
+ LLVMLibsOptions += -Wl,--no-undefined
+ endif
+
+-ifeq ($(HOST_OS),SunOS)
+- # add -z allextract ahead of other libraries on Solaris
+- LLVMLibsOptions := -Wl,-z -Wl,allextract $(LLVMLibsOptions)
+-endif
+-
+ ifeq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
+
+ SHLIB_STUBS := $(addprefix $(ObjDir)/, $(SHLIB_FRAG_NAMES))
diff --git a/debian/patches/series b/debian/patches/series
index 562ce13..3ee38cd 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -44,3 +44,4 @@ kfreebsd-lldb-gdbserver.diff
#fix-lldb-3.5-rc2.diff
gcc-compat-1.diff
gcc-compat-2.diff
+dyson-gnu-ld.patch