devel/libunwind: set LLD_UNSAFE

libunwind.so has symbols with ELF protected visibility which various
test applications could preempt. Both GNU gold and LLVM's lld fail to
link this case, with errors like

lld:
/usr/bin/ld: error: cannot preempt symbol: _ULx86_64_init_local
>>> defined in ../src/.libs/libunwind.so
>>> referenced by Lperf-trace.c
>>>               Lperf-trace.o:(main)

gold:
/usr/local/bin/ld.gold: error: Gperf-simple.o: cannot make copy relocation
    for protected symbol '_Ux86_64_local_addr_space', defined in
    ../src/.libs/libunwind-x86_64.so

For now prevent libunwind from linking with lld. More information can be
found in libunwind upstream issue 58
https://github.com/libunwind/libunwind/issues/58

PR:		219524
Approved by:	portmgr (LLD_UNSAFE blanket)
Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Ed Maste 2017-12-19 18:06:29 +00:00
parent 503e12abad
commit 99f1977cc9
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=456743

View File

@ -25,6 +25,7 @@ GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
USE_LDCONFIG= yes
USES= libtool pathfix pkgconfig
LLD_UNSAFE= yes
PLIST_SUB= ARCH=${ARCH:S|i386|x86|:S|amd64|x86_64|}