Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Aug 2017 13:01:29 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   [Bug 221803] ftp/rexx-curl: port passes $LDFLAGS to direct linker invocation, not compiler driver
Message-ID:  <bug-221803-13@https.bugs.freebsd.org/bugzilla/>

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

            Bug ID: 221803
           Summary: ftp/rexx-curl: port passes $LDFLAGS to direct linker
                    invocation, not compiler driver
           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: bob@eager.cx
            Blocks: 214864
             Flags: maintainer-feedback?(bob@eager.cx)
                CC: bob@eager.cx

I've been investigating the state of the ports tree with LLVM's lld install=
ed
as /usr/bin/ld (from the exp-run in PR 214864).

Normally LDFLAGS contains flags passed to the compiler driver when invoked =
for
linking. One issue that affects a small number of ports is passing $LDFLAGS=
 to
direct linker invocation (i.e, $LD), where it contains flags that are
appropriate only for the compiler driver, not the linker.

In several instances this comes from bsd.ssp.mk, which adds -fstack-protect=
or
to LDFLAGS.  GNU BFD ld accepts the flag but produces undesired output, whi=
le
lld produces an error:

ld -fstack-protector -shared -o libcfg+.so.0 ../src/cfg+.o ../src/parse.o
../src/props.o ../src/cmdline.o ../src/cfgfile.o ../src/shared.o
../src/platon/str/strplus.o ../src/platon/str/strctype.o
../src/platon/str/strdyn.o ../src/platon/str/dynfgets.o
ld: error: unknown argument: -fstack-protector
(from devel/libcfg)

(GNU ld produces output with a bogus DT_AUXILIARY "stack-protector" entry f=
or
this case.)

This affects at least the following ports:
www/mod_jk
devel/libcfg
arabic/libitl
www/tdom
www/dummyflash
ftp/rexx-curl

ftp/rexx-curl build log excerpt when linking with lld:
ld -Bdynamic -Bshareable   -fstack-protector  -fstack-protector  -o
librexxcurl.so rexxcurl.so.o rxpack.so.o rxmt_posix.so.o -L/usr/local/lib
-lcurl -L/usr/local/lib -lregina   -lm
ld: error: unknown argument: -fstack-protector
ld: error: unknown argument: -fstack-protector


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-221803-13>