lld: hack version and help output for compatibility with libtool
authoremaste <emaste@FreeBSD.org>
Mon, 27 Mar 2017 16:01:16 +0000 (16:01 +0000)
committeremaste <emaste@FreeBSD.org>
Mon, 27 Mar 2017 16:01:16 +0000 (16:01 +0000)
commitf3775907dd781b2dacd2e5a0ee4d0d8fdf4171ba
treef4aa3180f864dc4d2ab10dec5d4221eee1c828f0
parenta9fa766d5bbff439d59d53d3978f4104a10b1769
lld: hack version and help output for compatibility with libtool

GNU libtool checks the output from invoking the linker with --version
and --help, in order to determine the linker "flavour" and the command-
ine arguments to use for various link operations (e.g. generating shared
libraries). To detect GNU ld it looks for the strings "GNU" and
"supported targets:.*elf". Since LLD is compatible with GNU ld we
include those same strings to fool libtool.

Quoting from a comment in the change:
    This is somewhat ugly hack, but in reality, we had no choice other
    than doing this. Considering the very long release cycle of Libtool,
    it is not easy to improve it to recognize LLD as a GNU compatible
    linker in a timely manner. Even if we can make it, there are still a
    lot of "configure" scripts out there that are generated by old
    version of Libtool. We cannot convince every software developer to
    migrate to the latest version and re-generate scripts. So we have
    this hack.

Upstream LLVM revisions r298532, r298568, r298591

Obtained from: LLVM
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
contrib/llvm/tools/lld/ELF/Driver.cpp
contrib/llvm/tools/lld/ELF/DriverUtils.cpp