Author: andrew
Date: Thu Jan 14 19:00:13 2016
New Revision: 294031
URL: https://svnweb.freebsd.org/changeset/base/294031

Log:
  Set -mlong-calls where needed to get a static clang and lldb 3.8.0
  linking. These are too large for a branch instruction to branch from an
  earlier point in the code to somewhere later.
  
  This will also allow these to be build with Thumb-2 when we get this
  infrastructure.
  
  Reviewed by:  dim
  Differential Revision:        https://reviews.freebsd.org/D4855

Modified:
  head/lib/clang/clang.lib.mk
  head/lib/libc++/Makefile
  head/usr.bin/clang/clang/Makefile
  head/usr.bin/clang/lldb/Makefile

Modified: head/lib/clang/clang.lib.mk
==============================================================================
--- head/lib/clang/clang.lib.mk Thu Jan 14 18:57:17 2016        (r294030)
+++ head/lib/clang/clang.lib.mk Thu Jan 14 19:00:13 2016        (r294031)
@@ -6,4 +6,8 @@ LLVM_SRCS= ${.CURDIR}/../../../contrib/l
 
 INTERNALLIB=
 
+.if ${MACHINE_CPUARCH} == "arm"
+STATIC_CXXFLAGS+= -mlong-calls
+.endif
+
 .include <bsd.lib.mk>

Modified: head/lib/libc++/Makefile
==============================================================================
--- head/lib/libc++/Makefile    Thu Jan 14 18:57:17 2016        (r294030)
+++ head/lib/libc++/Makefile    Thu Jan 14 19:00:13 2016        (r294031)
@@ -6,6 +6,9 @@ _LIBCXXRTDIR=   ${.CURDIR}/../../contrib/l
 HDRDIR=                ${.CURDIR}/../../contrib/libc++/include
 SRCDIR=                ${.CURDIR}/../../contrib/libc++/src
 CXXINCLUDEDIR= ${INCLUDEDIR}/c++/v${SHLIB_MAJOR}
+.if ${MACHINE_CPUARCH} == "arm"
+STATIC_CXXFLAGS+= -mlong-calls
+.endif
 
 .PATH: ${SRCDIR}
 

Modified: head/usr.bin/clang/clang/Makefile
==============================================================================
--- head/usr.bin/clang/clang/Makefile   Thu Jan 14 18:57:17 2016        
(r294030)
+++ head/usr.bin/clang/clang/Makefile   Thu Jan 14 19:00:13 2016        
(r294031)
@@ -11,6 +11,10 @@ SRCS=        cc1_main.cpp \
 
 .if ${MK_SHARED_TOOLCHAIN} == "no"
 NO_SHARED?= yes
+
+.if ${MACHINE_CPUARCH} == "arm"
+CFLAGS+= -mlong-calls
+.endif
 .endif
 
 LINKS= ${BINDIR}/clang ${BINDIR}/clang++ \

Modified: head/usr.bin/clang/lldb/Makefile
==============================================================================
--- head/usr.bin/clang/lldb/Makefile    Thu Jan 14 18:57:17 2016        
(r294030)
+++ head/usr.bin/clang/lldb/Makefile    Thu Jan 14 19:00:13 2016        
(r294031)
@@ -8,6 +8,9 @@ LLDB_SRCS=${.CURDIR}/../../../contrib/ll
 
 CFLAGS+=       -I${LLDB_SRCS}/include
 CXXFLAGS+=     -std=c++11
+.if ${MACHINE_CPUARCH} == "arm"
+CFLAGS+=       -mlong-calls
+.endif
 
 SRCDIR=        tools/lldb/tools/driver
 SRCS=  Driver.cpp \
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to