Bug 221811

Summary: sysutils/safecat: avoid duplicating object files already in library
Product: Ports & Packages Reporter: Ed Maste <emaste>
Component: Individual Port(s)Assignee: Ed Maste <emaste>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221812
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223832
Bug Depends on:    
Bug Blocks: 214864    
Attachments:
Description Flags
fix sysutils/safecat linking with lld none

Description Ed Maste freebsd_committer freebsd_triage 2017-08-25 17:44:13 UTC
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.
Comment 1 commit-hook freebsd_committer freebsd_triage 2017-11-20 22:24:05 UTC
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