Page MenuHomeFreeBSD

print/openprinting: fix build when lld is the system linker
ClosedPublic

Authored by emaste on Apr 5 2018, 1:49 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Oct 29, 2:00 PM
Unknown Object (File)
Sun, Oct 12, 7:10 PM
Unknown Object (File)
Sep 18 2025, 11:02 PM
Unknown Object (File)
Sep 15 2025, 1:23 PM
Unknown Object (File)
Sep 14 2025, 11:00 AM
Unknown Object (File)
Sep 14 2025, 11:00 AM
Unknown Object (File)
Sep 14 2025, 11:00 AM
Unknown Object (File)
Sep 14 2025, 10:42 AM
Subscribers

Details

Summary

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

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

emaste edited the summary of this revision. (Show Details)
ler added a subscriber: ler.

LGTM

This revision is now accepted and ready to land.Apr 5 2018, 1:54 AM
This revision was automatically updated to reflect the committed changes.