Created attachment 185760 [details] fix sysutils/safecat linking with lld Previously byte_copy.o and str_len.o were added to str.a, and then specified as objects on the safecat link command line along with str. When linking with lld this produces duplicate symbol errors like: /usr/bin/ld: error: duplicate symbol: byte_copy >>> defined at byte_copy.c >>> byte_copy.o:(byte_copy) in archive str.a >>> defined at byte_copy.c >>> byte_copy.o(.text+0x0) As these symbols are provided by str.a just avoid listing the object files as well.
A commit references this bug: Author: emaste Date: Mon Nov 20 22:23:37 UTC 2017 New revision: 454582 URL: https://svnweb.freebsd.org/changeset/ports/454582 Log: sysutils/safecat: avoid duplicating object files in library Previously byte_copy.o and str_len.o were added to str.a, and then specified as objects on the safecat link command line along with str. When linking with lld this produces duplicate symbol errors like: /usr/bin/ld: error: duplicate symbol: byte_copy >>> defined at byte_copy.c >>> byte_copy.o:(byte_copy) in archive str.a >>> defined at byte_copy.c >>> byte_copy.o(.text+0x0) As these symbols are provided by str.a just avoid listing the object files as well. PR: 221811 Approved by: matthew Sponsored by: The FreeBSD Foundation Changes: head/sysutils/safecat/files/patch-Makefile