This port passes `-Mmapfile` to the linker, which is an invalid argument. Per GNU BFD ld's manpage, link map options are `-M` | `--print-map` to print a link map to stdout, or `-Map mapfile` to print a link map to `mapfile`. It appears that ld.bfd accepts `-Mmapfile` as a synonym for `-M` due to some quirk of its parser; lld simply fails with an unknown argument error.
This port's embedded copy of libtool was also too old to know that it should pass the -fuse-ld flag from LDFLAGS through to the linker, and also too old to match the sed expression in Mk/Uses/libtool.mk that patches in knowledge of -fuse-ld. Thus patch `ltmain.sh` to add -fuse-ld=bfd as a passthrough flag.
I do not know why libtool's authors believed that silently dropping unknown flags from a user's provided LDFLAGS is a sensible thing to do.
PR: 221809
Sponsored by: The FreeBSD Foundation