Date: Thu, 29 Nov 2018 15:48:36 +0000 (UTC) From: Ed Maste <emaste@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r341239 - in stable/12: gnu/usr.bin/binutils tools/build/mk tools/build/options Message-ID: <201811291548.wATFmapA004098@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201811291548.wATFmapA004098>