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
6b26cacc52
commit
eda7d3bec4
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=340984
@ -8,9 +8,13 @@ SUBDIR= doc\
|
|||||||
libopcodes \
|
libopcodes \
|
||||||
libbinutils \
|
libbinutils \
|
||||||
as \
|
as \
|
||||||
ld \
|
|
||||||
objdump
|
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_libbinutils=libbfd # for bfdver.h
|
||||||
SUBDIR_DEPEND_as=libbfd libiberty libopcodes
|
SUBDIR_DEPEND_as=libbfd libiberty libopcodes
|
||||||
|
@ -208,7 +208,6 @@ OLD_FILES+=usr/bin/as
|
|||||||
OLD_FILES+=usr/bin/ld
|
OLD_FILES+=usr/bin/ld
|
||||||
OLD_FILES+=usr/share/man/man1/ld.1.gz
|
OLD_FILES+=usr/share/man/man1/ld.1.gz
|
||||||
.endif
|
.endif
|
||||||
OLD_FILES+=usr/bin/ld.bfd
|
|
||||||
OLD_FILES+=usr/bin/objdump
|
OLD_FILES+=usr/bin/objdump
|
||||||
OLD_FILES+=usr/libdata/ldscripts/armelf_fbsd.x
|
OLD_FILES+=usr/libdata/ldscripts/armelf_fbsd.x
|
||||||
OLD_FILES+=usr/libdata/ldscripts/armelf_fbsd.xbn
|
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/ldint.7.gz
|
||||||
OLD_FILES+=usr/share/man/man7/binutils.7.gz
|
OLD_FILES+=usr/share/man/man7/binutils.7.gz
|
||||||
.endif
|
.endif
|
||||||
|
.if ${MK_BINUTILS} == no || ${MK_LLD_IS_LD} == yes
|
||||||
|
OLD_FILES+=usr/bin/ld.bfd
|
||||||
|
.endif
|
||||||
|
|
||||||
.if ${MK_BLACKLIST} == no
|
.if ${MK_BLACKLIST} == no
|
||||||
OLD_FILES+=etc/rc.d/blacklistd
|
OLD_FILES+=etc/rc.d/blacklistd
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
.\" $FreeBSD$
|
.\" $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.
|
of the normal system build.
|
||||||
The resulting system cannot build programs from source.
|
The resulting system cannot build programs from source.
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
.\" $FreeBSD$
|
.\" $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.
|
of the normal system build.
|
||||||
|
Loading…
Reference in New Issue
Block a user