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

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

            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@FreeBSD.org
          Reporter: emaste@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 fl=
ags
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 B=
FD
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=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-221807-13>