[PATCH] D31208: Print out "suppoted targets" and "supported emulations".

Rui Ueyama via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 21 13:59:14 PDT 2017


ruiu created this revision.

This is to improve compatibility with the GNU linkers for those
who expect these strings in a message for the -help option.


https://reviews.llvm.org/D31208

Files:
  lld/ELF/DriverUtils.cpp
  lld/test/ELF/driver.test


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
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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31208.92540.patch
Type: text/x-patch
Size: 1788 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170321/d8d22c40/attachment.bin>


More information about the llvm-commits mailing list