svn commit: r448576 - head/Mk

Ed Maste emaste at FreeBSD.org
Tue Aug 22 18:55:01 UTC 2017


Author: emaste (src committer)
Date: Tue Aug 22 18:55:00 2017
New Revision: 448576
URL: https://svnweb.freebsd.org/changeset/ports/448576

Log:
  Add LLD_UNSAFE to force use of ld.bfd when ld is lld
  
  By default the compiler will find /usr/bin/ld for the linker.  If a port
  sets LLD_UNSAFE and /usr/bin/ld is ld.lld, then add -fuse-ld=bfd to
  force the use of the binutils BFD linker (from the base system, if
  available, or by setting USE_BINUTILS).
  
  This change is based on an earlier, similar patch from bapt, with the
  addition of the -fuse-ld flag.
  
  PR:		214864
  Reviewed by:	bapt
  Approved by:	portmgr (bapt)
  Sponsored by:	The FreeBSD Foundation
  Differential Revision:	https://reviews.freebsd.org/D12064

Modified:
  head/Mk/bsd.port.mk

Modified: head/Mk/bsd.port.mk
==============================================================================
--- head/Mk/bsd.port.mk	Tue Aug 22 18:22:05 2017	(r448575)
+++ head/Mk/bsd.port.mk	Tue Aug 22 18:55:00 2017	(r448576)
@@ -1737,6 +1737,20 @@ PKG_DEPENDS+=	${LOCALBASE}/sbin/pkg:${PKG_ORIGIN}
 .include "${PORTSDIR}/Mk/bsd.gcc.mk"
 .endif
 
+_TEST_LD=/usr/bin/ld
+.if defined(LLD_UNSAFE) && ${_TEST_LD:tA} == "/usr/bin/ld.lld"
+LDFLAGS+=	-fuse-ld=bfd
+.  if !defined(USE_BINUTILS)
+.    if exists(/usr/bin/ld.bfd)
+LD=	/usr/bin/ld.bfd
+CONFIGURE_ENV+=	LD=${LD}
+MAKE_ENV+=	LD=${LD}
+.    else
+USE_BINUTILS=	yes
+.    endif
+.  endif
+.endif
+
 .if defined(USE_BINUTILS) && !defined(DISABLE_BINUTILS)
 BUILD_DEPENDS+=	${LOCALBASE}/bin/as:devel/binutils
 BINUTILS?=	ADDR2LINE AR AS CPPFILT GPROF LD NM OBJCOPY OBJDUMP RANLIB \


More information about the svn-ports-head mailing list