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. Reported by: theraven Reviewed by: bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D18340
This commit is contained in:
parent
6f979330da
commit
52f4b8d04a
@ -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
|
||||
|
@ -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
|
||||
@ -412,6 +411,9 @@ 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
|
||||
OLD_FILES+=etc/rc.d/blacklistd
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user