gao ge via llvm-dev
2017-Dec-14 07:22 UTC
[llvm-dev] [lld] Well lld support some advanced features like gnu linker in macOS?
Hi, llvm developers. I can't find a lld-dev mail list, so just mail to here. ld in macOS is legacy, lld a more modern linker. I have test, `-fuse-ld=lld, -Wl,--as-needed `, but its output is: /usr/local/bin/ld.lld: error: unknown argument: -dynamic /usr/local/bin/ld.lld: error: unknown argument: -arch /usr/local/bin/ld.lld: error: unknown argument: -search_paths_first /usr/local/bin/ld.lld: error: unknown emulation: acosx_version_min /usr/local/bin/ld.lld: error: unable to find library -lto_library /usr/local/bin/ld.lld: error: /usr/local/Cellar/llvm/5.0.0/lib/libLTO.dylib: invalid data encoding Seems lld is working in progress. I hope lld will support some advanced features like `--as-need` `--start-group` `--end-group` flags in macOS, they are very useful ! -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171214/8e0b2cbd/attachment.html>
Rafael Avila de Espindola via llvm-dev
2017-Dec-15 15:22 UTC
[llvm-dev] [lld] Well lld support some advanced features like gnu linker in macOS?
I don't think the MachO side of lld is currently being developed. Cheers, Rafael gao ge via llvm-dev <llvm-dev at lists.llvm.org> writes:> Hi, llvm developers. I can't find a lld-dev mail list, so just mail to here. > > ld in macOS is legacy, lld a more modern linker. I have test, > `-fuse-ld=lld, -Wl,--as-needed `, but its output is: > > /usr/local/bin/ld.lld: error: unknown argument: -dynamic > > /usr/local/bin/ld.lld: error: unknown argument: -arch > > /usr/local/bin/ld.lld: error: unknown argument: -search_paths_first > > /usr/local/bin/ld.lld: error: unknown emulation: acosx_version_min > > /usr/local/bin/ld.lld: error: unable to find library -lto_library > > /usr/local/bin/ld.lld: error: > /usr/local/Cellar/llvm/5.0.0/lib/libLTO.dylib: invalid data encoding > > Seems lld is working in progress. I hope lld will support some advanced > features like `--as-need` `--start-group` `--end-group` flags in macOS, > they are very useful ! > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Shoaib Meenai via llvm-dev
2017-Dec-15 17:17 UTC
[llvm-dev] [lld] Well lld support some advanced features like gnu linker in macOS?
Additionally, those errors sound like you invoked the ELF port of LLD. In 6.0,
the Mach-O will be called ld64.lld (and clang's linker selection logic has
been updated accordingly), so that the ELF and Mach-O ports can be
disambiguated.
ld64 is pretty modern/performant in my experience, which might be part of the
reason the LLD Mach-O efforts have stalled. Even if that port were revived, its
command line interface would probably mirror ld64's and not GNU ld's, so
you may not get the options you're looking for.
I just did a bit of experimentation, and it appears that ld64 doesn't appear
to care about the ordering of static libraries on the command line, in which
case --start-group and --end-group are unnecessary. I couldn't find any
direct analog to --as-needed, but you can build a dynamic library with
-mark_dead_strippable_dylib, which achieves a similar effect of only pulling in
that library when functions from it are referenced.
On 12/15/17, 7:23 AM, "llvm-dev on behalf of Rafael Avila de Espindola via
llvm-dev" <llvm-dev-bounces at lists.llvm.org on behalf of llvm-dev at
lists.llvm.org> wrote:
I don't think the MachO side of lld is currently being developed.
Cheers,
Rafael
gao ge via llvm-dev <llvm-dev at lists.llvm.org> writes:
> Hi, llvm developers. I can't find a lld-dev mail list, so just mail
to here.
>
> ld in macOS is legacy, lld a more modern linker. I have test,
> `-fuse-ld=lld, -Wl,--as-needed `, but its output is:
>
> /usr/local/bin/ld.lld: error: unknown argument: -dynamic
>
> /usr/local/bin/ld.lld: error: unknown argument: -arch
>
> /usr/local/bin/ld.lld: error: unknown argument: -search_paths_first
>
> /usr/local/bin/ld.lld: error: unknown emulation: acosx_version_min
>
> /usr/local/bin/ld.lld: error: unable to find library -lto_library
>
> /usr/local/bin/ld.lld: error:
> /usr/local/Cellar/llvm/5.0.0/lib/libLTO.dylib: invalid data encoding
>
> Seems lld is working in progress. I hope lld will support some advanced
> features like `--as-need` `--start-group` `--end-group` flags in macOS,
> they are very useful !
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
>
https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Ddev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=sUJnDNx4gQ64N6rHycf6XJwzJSeZ0mpqGdg_5E4c9fA&s=Naf9UDCLMNvcxtPBnIIh-mrPkC0TtPtCbf2GWX6xnSg&e
_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org
https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Ddev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=sUJnDNx4gQ64N6rHycf6XJwzJSeZ0mpqGdg_5E4c9fA&s=Naf9UDCLMNvcxtPBnIIh-mrPkC0TtPtCbf2GWX6xnSg&e
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20171215/d9a8d862/attachment.html>