Index: lld/trunk/ELF/DriverUtils.cpp =================================================================== --- lld/trunk/ELF/DriverUtils.cpp +++ lld/trunk/ELF/DriverUtils.cpp @@ -119,6 +119,19 @@ void elf::printHelp(const char *Argv0) { ELFOptTable Table; Table.PrintHelp(outs(), Argv0, "lld", false); + outs() << "\n"; + + // Scripts generated by Libtool versions up to at least 2.4.6 (the most + // recent version as of March 2017) expect /supported targets:.* elf/ in + // a message for the -help option. If it doesn't match, the scripts + // assume that the linker doesn't support very basic features such as + // shared libraries. Therefore, we need to print out at least "elf". + // Here, we print out all the targets that we support. + outs() << Argv0 << ": supported targets: " + << "elf32-i386 elf32-iamcu elf32-littlearm elf32-powerpc " + << "elf32-tradbigmips elf32-tradlittlemips elf32-x86-64 " + << "elf64-amdgpu elf64-littleaarch64 elf64-powerpc " + << "elf64-tradbigmips elf64-tradlittlemips elf64-x86-64\n"; } // Reconstructs command line arguments so that so that you can re-run Index: lld/trunk/test/ELF/driver.test =================================================================== --- lld/trunk/test/ELF/driver.test +++ lld/trunk/test/ELF/driver.test @@ -15,6 +15,7 @@ # RUN: ld.lld --help 2>&1 | FileCheck -check-prefix=HELP %s # HELP: USAGE: +# HELP: ld.lld: supported targets: {{.*}} elf # RUN: ld.lld --version 2>&1 | FileCheck -check-prefix=VERSION %s # VERSION: LLD {{.*}} (compatible with GNU linkers)