Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Nov 2017 22:23:37 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r454582 - head/sysutils/safecat/files
Message-ID:  <201711202223.vAKMNbpo001724@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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: \



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711202223.vAKMNbpo001724>