I've been investigating the state of the ports tree with LLVM's lld installed as /usr/bin/ld (from the exp-run in PR 214864). Normally LDFLAGS contains flags passed to the compiler driver when invoked for linking. One issue that affects a small number of ports is passing $LDFLAGS to direct linker invocation (i.e, $LD), where it contains flags that are appropriate only for the compiler driver, not the linker. In several instances this comes from bsd.ssp.mk, which adds -fstack-protector to LDFLAGS. GNU BFD ld accepts the flag but produces undesired output, while lld produces an error: ld -fstack-protector -shared -o libcfg+.so.0 ../src/cfg+.o ../src/parse.o ../src/props.o ../src/cmdline.o ../src/cfgfile.o ../src/shared.o ../src/platon/str/strplus.o ../src/platon/str/strctype.o ../src/platon/str/strdyn.o ../src/platon/str/dynfgets.o ld: error: unknown argument: -fstack-protector (from devel/libcfg) (GNU ld produces output with a bogus DT_AUXILIARY "stack-protector" entry for this case.) This affects at least the following ports: www/mod_jk devel/libcfg arabic/libitl www/tdom www/dummyflash ftp/rexx-curl ftp/rexx-curl build log excerpt when linking with lld: ld -Bdynamic -Bshareable -fstack-protector -fstack-protector -o librexxcurl.so rexxcurl.so.o rxpack.so.o rxmt_posix.so.o -L/usr/local/lib -lcurl -L/usr/local/lib -lregina -lm ld: error: unknown argument: -fstack-protector ld: error: unknown argument: -fstack-protector
Maintainer feedback, please!
This is being worked on, and a resolution will be provided soon.
Thanks for reply.
Any update?
I have an important deadline in three days. After that...!
Via tobik@ in ports r465725, BINARY_ALIAS=ld=ld.bfd may be an effective workaround if LLD_UNSAFE does not work.
A commit references this bug: Author: krion Date: Fri Mar 30 11:52:47 UTC 2018 New revision: 465964 URL: https://svnweb.freebsd.org/changeset/ports/465964 Log: Switch to ld.bfd by default as ld.ldd doesn't have built-in default output target. PR: 221803 Submitted by: emaste Approved by: portmgr (LLD_UNSAFE blanket) Changes: head/ftp/rexx-curl/Makefile