Index: lld/ELF/DriverUtils.cpp =================================================================== --- lld/ELF/DriverUtils.cpp +++ lld/ELF/DriverUtils.cpp @@ -119,6 +119,24 @@ void elf::printHelp(const char *Argv0) { ELFOptTable Table; Table.PrintHelp(outs(), Argv0, "lld", false); + outs() << "\n"; + + // Scripts generated by Libtool 2.4.6 or earlier expects /supported + // targets:.* elf/ in a message for the -help option. If it doesn't + // match, the scripts suppose 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-littleaarch64 elf64-powerpc elf64-tradbigmips " + << "elf64-tradlittlemips elf64-x86-64\n"; + + outs() << Argv0 << ": supported emulations: " + << "aarch64elf aarch64linux armelf_linux_eabi elf32_x86_64 " + << "elf32btsmip elf32btsmipn32 elf32ltsmip elf32ltsmipn32 elf32ppc " + << "elf64btsmip elf64ltsmip elf64ppc elf_amd64 elf_i386 elf_iamcu " + << "elf_x86_64\n"; } // Reconstructs command line arguments so that so that you can re-run Index: lld/test/ELF/driver.test =================================================================== --- lld/test/ELF/driver.test +++ lld/test/ELF/driver.test @@ -15,6 +15,8 @@ # RUN: ld.lld --help 2>&1 | FileCheck -check-prefix=HELP %s # HELP: USAGE: +# HELP: ld.lld: supported targets: {{.*}} elf +# HELP: ld.lld: supported emulations: # RUN: ld.lld --version 2>&1 | FileCheck -check-prefix=VERSION %s # VERSION: LLD