[lld] r233782 - [Gnu] Support an other form of defsym option

Shankar Easwaran shankare at codeaurora.org
Tue Mar 31 20:06:59 PDT 2015


Author: shankare
Date: Tue Mar 31 22:06:59 2015
New Revision: 233782

URL: http://llvm.org/viewvc/llvm-project?rev=233782&view=rev
Log:
[Gnu] Support an other form of defsym option

Modified:
    lld/trunk/lib/Driver/GnuLdOptions.td
    lld/trunk/test/elf/defsym.objtxt

Modified: lld/trunk/lib/Driver/GnuLdOptions.td
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/GnuLdOptions.td?rev=233782&r1=233781&r2=233782&view=diff
==============================================================================
--- lld/trunk/lib/Driver/GnuLdOptions.td (original)
+++ lld/trunk/lib/Driver/GnuLdOptions.td Tue Mar 31 22:06:59 2015
@@ -25,6 +25,15 @@ multiclass dashEq<string opt1, string op
       Alias<!cast<Option>(opt1)>;
 }
 
+// Support --<option>,--<option>=
+multiclass mDashEq<string opt1, string help> {
+  // Option
+  def "" : Separate<["--"], opt1>, HelpText<help>;
+  // Compatibility aliases
+  def opt2_eq : Joined<["--"], opt1#"=">,
+      Alias<!cast<Option>(opt1)>;
+}
+
 //===----------------------------------------------------------------------===//
 /// LLVM and Target options
 //===----------------------------------------------------------------------===//
@@ -211,9 +220,11 @@ def use_shlib_undefs: Flag<["--"], "use-
 def allow_multiple_definition: Flag<["--"], "allow-multiple-definition">,
     HelpText<"Allow multiple definitions">,
     Group<grp_resolveropt>;
-def defsym : Joined<["--"], "defsym=">,
-     HelpText<"Create a defined symbol">,
-     Group<grp_resolveropt>;
+defm defsym : mDashEq<"defsym",
+           "Create a global symbol in the output file "
+           "containing the absolute address given by expression">,
+           MetaVarName<"symbol=<expression>">,
+           Group<grp_resolveropt>;
 
 //===----------------------------------------------------------------------===//
 /// Custom Options

Modified: lld/trunk/test/elf/defsym.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/defsym.objtxt?rev=233782&r1=233781&r2=233782&view=diff
==============================================================================
--- lld/trunk/test/elf/defsym.objtxt (original)
+++ lld/trunk/test/elf/defsym.objtxt Tue Mar 31 22:06:59 2015
@@ -4,6 +4,9 @@
 # RUN: lld -flavor gnu -target x86_64 --defsym=foo=main -r %s \
 # RUN:     --output-filetype=yaml | FileCheck -check-prefix=ALIAS %s
 
+# RUN: lld -flavor gnu -target x86_64 --defsym foo=main -r %s \
+# RUN:     --output-filetype=yaml | FileCheck -check-prefix=ALIAS %s
+
 defined-atoms:
   - name:            main
     scope:           global





More information about the llvm-commits mailing list