[Bug 221800] www/mod_jk: port passes $LDFLAGS to direct linker invocation, not compiler driver

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Aug 25 12:56:17 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221800

            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 at FreeBSD.org
          Reporter: emaste at freebsd.org
            Blocks: 214864
          Assignee: girgen at FreeBSD.org
             Flags: maintainer-feedback?(girgen at FreeBSD.org)

I've been investigating the state of the ports tree with LLVM's lld installed
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-protector
to LDFLAGS.  GNU BFD ld accepts the flag but produces undesired output, while
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 for
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=link cc
-I/usr/local/include/apache24 -O2 -pipe  -fstack-protector -fno-strict-aliasing
-DHAVE_CONFIG_H -DUSE_APACHE_MD5 -I../common -I ../common  -O2 -pipe
-I/usr/include -DLIBICONV_PLUG -fstack-protector -fno-strict-aliasing 
-DHAVE_APR  -I/usr/local/include/apr-1 -I/usr/local/include/apr-1 -O2 -pipe 
-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=214864
[Bug 214864] [exp-run] test build with lld as /usr/bin/ld
-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list