ports/165406: [PATCH] devel/binutils: enable gold and sysroot support

Brooks Davis brooks at lor.one-eyed-alien.net
Wed Feb 22 23:50:07 UTC 2012


>Number:         165406
>Category:       ports
>Synopsis:       [PATCH] devel/binutils: enable gold and sysroot support
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Feb 22 23:50:07 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Brooks Davis
>Release:        FreeBSD 8.2-RELEASE amd64
>Organization:
>Environment:
System: FreeBSD lor.one-eyed-alien.net 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 UTC 2011 root at mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64


	
>Description:

Enable building of the gold linker on FreeBSD versions where gcc has been
patched to not crash when building it.  This is needed to do experiments
on LTO using LLVM's gold plugin.

Enable --sysroot support by configuring with "--with-sysroot=/".  This is
useful for some patches I'm working on to simplify builds using an
external toolchain.

>How-To-Repeat:
	
>Fix:

Index: Makefile
===================================================================
RCS file: /home/pcvs/ports/devel/binutils/Makefile,v
retrieving revision 1.17
diff -u -r1.17 Makefile
--- Makefile	2 Dec 2011 14:17:05 -0000	1.17
+++ Makefile	22 Feb 2012 23:05:19 -0000
@@ -7,6 +7,7 @@
 
 PORTNAME=	binutils
 PORTVERSION=	2.22
+PORTREVISION=	1
 CATEGORIES=	devel
 MASTER_SITES=	${MASTER_SITE_SOURCEWARE}
 MASTER_SITE_SUBDIR=	binutils/releases
@@ -14,9 +15,14 @@
 MAINTAINER=	mm at FreeBSD.org
 COMMENT=	GNU binary tools
 
-USE_BZIP2=	yes
-USE_GMAKE=	yes
-GNU_CONFIGURE=	yes
+LICENSE=	GPLv3 LGPL3
+LICENSE_COMB=	multi
+
+# the blank line above and this comment should not exit, but portaudit
+# does not know that LICENSE_FILE_* variables should be in the LICENSE
+# section and fails.
+LICENSE_FILE_GPLv3=	${WRKSRC}/COPYING3
+LICENSE_FILE_LGPL3=	${WRKSRC}/COPYING3.LIB
 
 BUILD_DEPENDS=	${LOCALBASE}/lib/libgmp.so:${PORTSDIR}/math/gmp \
 		${LOCALBASE}/lib/libmpfr.so:${PORTSDIR}/math/mpfr
@@ -25,14 +31,15 @@
 
 OPTIONS=	NLS "Enable National Language Support" off
 
-LICENSE=	GPLv3 LGPL3
-LICENSE_COMB=	multi
-LICENSE_FILE_GPLv3=	${WRKSRC}/COPYING3
-LICENSE_FILE_LGPL3=	${WRKSRC}/COPYING3.LIB
+USE_BISON=	build
+USE_BZIP2=	yes
+USE_GMAKE=	yes
+GNU_CONFIGURE=	yes
 
 CFLAGS+=	-I${LOCALBASE}/include
 LDFLAGS+=	-L${LOCALBASE}/lib
 CONFIGURE_ARGS+=	--with-system-zlib \
+			--with-sysroot=/ \
 			--disable-werror \
 			--with-gmp=${LOCALBASE} \
 			--with-mpfr=${LOCALBASE}
@@ -75,11 +82,21 @@
 PLIST_SUB+=	NLS="@comment "
 .endif
 
+# Actual earliest version may differ slightly
+.if ${OSVERSION} >= 900044
+CONFIGURE_ARGS+=	--enable-gold --enable-plugins
+PLIST_FILES+=		bin/ld.gold \
+			include/plugin-api.h
+.endif
+
 .if ${ARCH} == "amd64"
 ARCH=		x86_64
 .endif
 
 post-install:
+.if ${OSVERSION} >= 900044
+	${INSTALL_DATA} ${WRKSRC}/include/plugin-api.h ${PREFIX}/include/
+.endif
 	@${FIND} -ds ${PREFIX}/${CONFIGURE_TARGET} ! -type d | \
 		${SED} -e 's,^${PREFIX}/,,' >> ${TMPPLIST}
 	@${FIND} -ds ${PREFIX}/${CONFIGURE_TARGET} -type d | \
Index: files/patch-bfd_Makefile.in
===================================================================
RCS file: files/patch-bfd_Makefile.in
diff -N files/patch-bfd_Makefile.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-bfd_Makefile.in	22 Feb 2012 23:05:19 -0000
@@ -0,0 +1,13 @@
+
+$FreeBSD$
+
+--- bfd/Makefile.in.orig
++++ bfd/Makefile.in
+@@ -336,7 +336,6 @@
+ @INSTALL_LIBBFD_FALSE at noinst_LTLIBRARIES = libbfd.la
+ AM_CFLAGS = $(WARN_CFLAGS)
+ AM_CPPFLAGS = -DBINDIR='"$(bindir)"'
+- at PLUGINS_TRUE@LIBDL = -ldl
+ 
+ # bfd.h goes here, for now
+ BFD_H = bfd.h
Index: files/patch-gold_Makefile.in
===================================================================
RCS file: files/patch-gold_Makefile.in
diff -N files/patch-gold_Makefile.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-gold_Makefile.in	22 Feb 2012 23:05:19 -0000
@@ -0,0 +1,13 @@
+
+$FreeBSD$
+
+--- gold/Makefile.in.orig
++++ gold/Makefile.in
+@@ -368,7 +368,6 @@
+ 	@INCINTL@
+ 
+ LIBIBERTY = ../libiberty/libiberty.a
+- at PLUGINS_TRUE@LIBDL = -ldl
+ @THREADS_TRUE at THREADSLIB = -lpthread
+ AM_YFLAGS = -d
+ 
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list