[Bug 221807] audio/oss: port passes $LDFLAGS to direct linker invocation, not compiler driver
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Fri Aug 25 16:38:14 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221807
Bug ID: 221807
Summary: audio/oss: 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 at FreeBSD.org
Reporter: emaste at freebsd.org
Blocks: 214864
I've been investigating building the ports tree with LLVM's lld installed as
/usr/bin/ld (via the exp-run in PR 214864). Through this I've found a few
common issues, some of which are due to limitations of lld or choices made by
its authors, and some of which are problems in the ports themselves. audio/oss
is affected by one of the latter cases.
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 $LDFLAGS ...), when $LDFLAGS contains flags
that are appropriate only for the compiler driver, not the linker.
At one point in the build -fPIC is passed to ld, which is accepted by GNU BFD
ld although it results in a bogus DT_AUXILIARY entry in the output:
% readelf -d work/.build/target/lib/libossmix.so
Dynamic section at offset 0x5000 contains 15 entries:
Tag Type Name/Value
0x000000007ffffffd AUXILIARY Auxiliary library: [PIC]
...
while lld produces an error:
ld -shared -fPIC -o ../../target/lib/libossmix.so ./libossmix_cache.o
./libossmix_local.o ./libossmix_main.o ./libossmix_tcp.o
ld: error: unknown argument: -fPIC
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