Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Mar 2018 16:37:52 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 226997] sysutils/dupd: fails to link with lld as the system linker
Message-ID:  <bug-226997-13@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D226997

            Bug ID: 226997
           Summary: sysutils/dupd: fails to link with lld as the system
                    linker
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs@FreeBSD.org
          Reporter: emaste@freebsd.org
                CC: tom@hur.st
            Blocks: 214864
                CC: tom@hur.st
             Flags: maintainer-feedback?(tom@hur.st)

I'm working on switching to LLVM's lld linker as the FreeBSD system linker
(/usr/bin/ld)[1], and the port in this PR is reported as a new failure in t=
he
exp-run, PR 214864.

An excerpt from the build log[2]:
---
ld -r -b binary -o /wrkdirs/usr/ports/sysutils/dupd/work/dupd-1.4/build/usa=
ge.o
man/dupd
ld: error: target emulation unknown: -m or at least one .o file required---

Known issues in this port or in lld that affect this port:

(4) lld does not have a built-in default output target. For the most common=
 use
of the linker (linking individual .o objects into an executable or shared
object) lld infers the target from the first object file. However, when the
linker is used to convert an arbitrary binary file into an ELF object (via =
-r
-b binary) lld must have the output target specified explicitly with -m.

FreeBSD 11 and later have lld available as /usr/bin/ld.lld, so one simple
option for testing is to just symlink /usr/bin/ld to ld.lld (and restore it=
 to
ld.bfd).

A port Makefile knob, LLD_UNSAFE=3Dyes, exists to indicate that a port does=
 not
work with lld, and requires either /usr/bin/ld.bfd or binutils from ports. =
This
should work for the common case of ports written in C using GNU autoconf; it
may have no effect on other ports.

[1] https://lists.freebsd.org/pipermail/freebsd-current/2018-March/068985.h=
tml
[2]
http://package18.nyi.freebsd.org/data/headamd64PR214864-default/2018-03-21_=
17h43m11s/logs/errors/dupd-1.4.log


Referenced Bugs:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D214864
[Bug 214864] [exp-run] test build with lld as /usr/bin/ld
--=20
You are receiving this mail because:
You are the assignee for the bug.=



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