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

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

            Bug ID: 221800
           Summary: www/mod_jk: 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: girgen@FreeBSD.org
          Reporter: emaste@freebsd.org
            Blocks: 214864
          Assignee: girgen@FreeBSD.org
             Flags: maintainer-feedback?(girgen@FreeBSD.org)

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/mod_jk build log excerpt:
/usr/local/share/apr/build-1/libtool --silent --mode=3Dlink cc
-I/usr/local/include/apache24 -O2 -pipe  -fstack-protector -fno-strict-alia=
sing
-DHAVE_CONFIG_H -DUSE_APACHE_MD5 -I../common -I ../common  -O2 -pipe
-I/usr/include -DLIBICONV_PLUG -fstack-protector -fno-strict-aliasing=20
-DHAVE_APR  -I/usr/local/include/apr-1 -I/usr/local/include/apr-1 -O2 -pipe=
=20
-fstack-protector -fno-strict-aliasing -DHAVE_CONFIG_H   -Wl,-L/usr/lib
-Wl,-fstack-protector -Wl,-fstack-protector -o mod_jk.la -module -rpath
/usr/local/libexec/apache24 -avoid-version mod_jk.lo
../common/jk_ajp12_worker.lo ../common/jk_connect.lo ../common/jk_msg_buff.=
lo
../common/jk_util.lo ../common/jk_ajp13.lo ../common/jk_pool.lo
../common/jk_worker.lo ../common/jk_ajp13_worker.lo ../common/jk_lb_worker.=
lo
../common/jk_sockbuf.lo ../common/jk_map.lo ../common/jk_uri_worker_map.lo
../common/jk_ajp14.lo ../common/jk_ajp14_worker.lo ../common/jk_md5.lo
../common/jk_shm.lo ../common/jk_ajp_common.lo ../common/jk_context.lo
../common/jk_url.lo ../common/jk_status.lo
/usr/bin/ld: error: unknown argument: -fstack-protector
/usr/bin/ld: error: unknown argument: -fstack-protector
cc: error: linker command failed with exit code 1 (use -v to see invocation)


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