[Bug 222172] lang/fpc: invokes linker directly and does not honour LD env variable override

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Sep 9 17:57:08 UTC 2017


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

            Bug ID: 222172
           Summary: lang/fpc: invokes linker directly and does not honour
                    LD env variable override
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: acm at FreeBSD.org
          Reporter: emaste at freebsd.org
                CC: krion at FreeBSD.org
            Blocks: 214864
          Assignee: acm at FreeBSD.org
             Flags: maintainer-feedback?(acm at FreeBSD.org)

I've been investigating building the ports tree with LLVM's lld installed as
/usr/bin/ld (via the exp-run in PR 214864). As of today lang/fpc fails when
linked with lld, and of those failing it is responsible for the largest number
of skipped ports (110).

When linking with lld (with LD=ld.bfd in the environment) the build failed
with:

/usr/bin/ld: error: x86_64/units/x86_64-freebsd/i_linux.o: invalid alignment of
section headers
pp.pas(247,1) Error: Error while linking
pp.pas(247,1) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted

I think this may be coming from fpc-3.0.2/compiler/systems/t_bsd.pas from
ExeCmd and DllCmd like so:

   149               ExeCmd[1]:='ld $TARGET $EMUL $OPT $DYNLINK $STATIC
$GCSECTIONS $STRIP -L. -o $EXE $CATRES';
   150               DllCmd[1]:='ld $TARGET $EMUL $OPT -shared -L. -o $EXE
$CATRES'

I'll try to have an attempt at a patch.


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