I have ld soft-linked to ld.bfd.
Thanks for the tip!
[EDIT]
Yes it solves the problems.
But tricky.
On my FreeBSD 12 OS, there are 2 binaries /usr/local/bin/ld.bfd and /usr/local/bin/ld.
And /usr/local/bin/ld is a binary, not a symlink to ld.bfd.
If I may (and this without any hostility, please trust me) it would be great to have a build-in solution in fpc himself.
For example in fpc-compiler code something like this:
{$IFDEF freebsd}
// use ld.bfd
{$ENDIF}
With FreeBSD there are only few distros (FreeBSD, Ghost, ...) that use the same architecture, with ld.bfd in same directory, so no risk of incompatibilities.