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

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

            Bug ID: 221802
           Summary: www/dummyflash: 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: darius@dons.net.au
            Blocks: 214864
                CC: darius@dons.net.au
             Flags: maintainer-feedback?(darius@dons.net.au)

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

www/dummyflash build log excerpt:
=3D=3D=3D>  Building for dummyflash-1.0_5
cc -c -g -fPIC -DXP_UNIX -I../../../include -I../Source/_gen
-I/usr/local/include -I. -I/usr/include ../Source/UnixShell.c
cc -c -g -fPIC -DXP_UNIX -I../../../include -I../Source/_gen
-I/usr/local/include -I. -I/usr/include ../Source/stubs.c
ld -shared -o dummyflash.so UnixShell.o stubs.o  -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-221802-13>