[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