svn commit: r341239 - in stable/12: gnu/usr.bin/binutils tools/build/mk tools/build/options
Ed Maste
emaste at FreeBSD.org
Thu Nov 29 15:48:38 UTC 2018
Author: emaste
Date: Thu Nov 29 15:48:36 2018
New Revision: 341239
URL: https://svnweb.freebsd.org/changeset/base/341239
Log:
MFC r340984: Do not install GNU ld if lld is /usr/bin/ld
GNU binutils ld.bfd 2.17.50 does not support ifuncs and produces broken
binaries when ifuncs are in use. When LLD_IS_LD is default we have an
ifunc-capable system linker and can just avoid installing ld.bfd.
Merged to stable/12 as libc's ifunc use has been merged there; ifunc use
has not been merged to releng/12.0 so this change does not need to be
either.
Modified:
stable/12/gnu/usr.bin/binutils/Makefile
stable/12/tools/build/mk/OptionalObsoleteFiles.inc
stable/12/tools/build/options/WITHOUT_BINUTILS
stable/12/tools/build/options/WITH_BINUTILS
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/gnu/usr.bin/binutils/Makefile
==============================================================================
--- stable/12/gnu/usr.bin/binutils/Makefile Thu Nov 29 15:42:32 2018 (r341238)
+++ stable/12/gnu/usr.bin/binutils/Makefile Thu Nov 29 15:48:36 2018 (r341239)
@@ -8,9 +8,13 @@ SUBDIR= doc\
libopcodes \
libbinutils \
as \
- ld \
objdump
+# When we use ld.lld as /usr/bin/ld, do not install the non-ifunc-capable
+# GNU binutils 2.17.50 ld.
+.if ${MK_LLD_IS_LD} == "no"
+SUBDIR+=ld
+.endif
SUBDIR_DEPEND_libbinutils=libbfd # for bfdver.h
SUBDIR_DEPEND_as=libbfd libiberty libopcodes
Modified: stable/12/tools/build/mk/OptionalObsoleteFiles.inc
==============================================================================
--- stable/12/tools/build/mk/OptionalObsoleteFiles.inc Thu Nov 29 15:42:32 2018 (r341238)
+++ stable/12/tools/build/mk/OptionalObsoleteFiles.inc Thu Nov 29 15:48:36 2018 (r341239)
@@ -208,7 +208,6 @@ OLD_FILES+=usr/bin/as
OLD_FILES+=usr/bin/ld
OLD_FILES+=usr/share/man/man1/ld.1.gz
.endif
-OLD_FILES+=usr/bin/ld.bfd
OLD_FILES+=usr/bin/objdump
OLD_FILES+=usr/libdata/ldscripts/armelf_fbsd.x
OLD_FILES+=usr/libdata/ldscripts/armelf_fbsd.xbn
@@ -411,6 +410,9 @@ OLD_FILES+=usr/share/man/man7/as.7.gz
OLD_FILES+=usr/share/man/man7/ld.7.gz
OLD_FILES+=usr/share/man/man7/ldint.7.gz
OLD_FILES+=usr/share/man/man7/binutils.7.gz
+.endif
+.if ${MK_BINUTILS} == no || ${MK_LLD_IS_LD} == yes
+OLD_FILES+=usr/bin/ld.bfd
.endif
.if ${MK_BLACKLIST} == no
Modified: stable/12/tools/build/options/WITHOUT_BINUTILS
==============================================================================
--- stable/12/tools/build/options/WITHOUT_BINUTILS Thu Nov 29 15:42:32 2018 (r341238)
+++ stable/12/tools/build/options/WITHOUT_BINUTILS Thu Nov 29 15:48:36 2018 (r341239)
@@ -1,4 +1,9 @@
.\" $FreeBSD$
-Set to not build or install binutils (as, ld, and objdump) as part
+Set to not build or install GNU
+.Xr as 1 ,
+.Xr objdump 1 ,
+and for some CPU architectures
+.Xr ld.bfd 1
+as part
of the normal system build.
The resulting system cannot build programs from source.
Modified: stable/12/tools/build/options/WITH_BINUTILS
==============================================================================
--- stable/12/tools/build/options/WITH_BINUTILS Thu Nov 29 15:42:32 2018 (r341238)
+++ stable/12/tools/build/options/WITH_BINUTILS Thu Nov 29 15:48:36 2018 (r341239)
@@ -1,3 +1,8 @@
.\" $FreeBSD$
-Set to build and install binutils (as, ld, and objdump) as part
+Set to build and install GNU
+.Xr as 1 ,
+.Xr objdump 1 ,
+and for some CPU architectures
+.Xr ld.bfd 1
+as part
of the normal system build.
More information about the svn-src-stable-12
mailing list