svn commit: r454582 - head/sysutils/safecat/files
Ed Maste
emaste at FreeBSD.org
Mon Nov 20 22:23:38 UTC 2017
Author: emaste (src committer)
Date: Mon Nov 20 22:23:37 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
Added:
head/sysutils/safecat/files/patch-Makefile (contents, props changed)
Added: head/sysutils/safecat/files/patch-Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/safecat/files/patch-Makefile Mon Nov 20 22:23:37 2017 (r454582)
@@ -0,0 +1,35 @@
+ 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.
+--- Makefile.orig 2017-08-25 13:36:12.671931000 -0400
++++ Makefile 2017-08-25 13:36:36.138079000 -0400
+@@ -219,14 +219,14 @@
+
+ safecat: \
+ load safecat.o getln.a str.a stralloc.a strerr.a substdio.a alloc.o \
+-alloc_re.o byte_copy.o byte_cr.o envread.o error.o error_str.o fmt_uint64.o \
+-hostname.o sig.o stat_dir.o str_diffn.o str_len.o substdio_copy.o \
++alloc_re.o byte_cr.o envread.o error.o error_str.o fmt_uint64.o \
++hostname.o sig.o stat_dir.o str_diffn.o substdio_copy.o \
+ substdi.o substdio.o taia_fmtfrac.o taia_now.o taia_tai.o tempfile.o \
+ writefile.o
+ ./load safecat getln.a str.a stralloc.a strerr.a substdio.a \
+- alloc.o alloc_re.o byte_copy.o byte_cr.o envread.o error.o \
++ alloc.o alloc_re.o byte_cr.o envread.o error.o \
+ error_str.o fmt_uint64.o hostname.o sig.o stat_dir.o str_diffn.o \
+- str_len.o substdi.o substdio.o substdio_copy.o taia_fmtfrac.o \
++ substdi.o substdio.o substdio_copy.o taia_fmtfrac.o \
+ taia_now.o taia_tai.o tempfile.o writefile.o
+
+ safecat.0: \
More information about the svn-ports-all
mailing list