[ARM] Update R_ARM_TARGET1 command line option names (remove prefix 'arm-')
authorLeny Kholodov <lkholodov@accesssoftek.com>
Wed, 22 Apr 2015 11:58:09 +0000 (11:58 +0000)
committerLeny Kholodov <lkholodov@accesssoftek.com>
Wed, 22 Apr 2015 11:58:09 +0000 (11:58 +0000)
Command line options --arm-target1-rel and --arm-target1-abs have been renamed to be compatible with GNU linkers.
Two tests have been updated:
  test/elf/options/target-specific-args.test
  test/elf/ARM/rel-arm-target1.test

Differential Revision: http://reviews.llvm.org/D9037

llvm-svn: 235499

lld/lib/Driver/GnuLdDriver.cpp
lld/lib/Driver/GnuLdOptions.td
lld/test/elf/ARM/rel-arm-target1.test
lld/test/elf/options/target-specific-args.test

index c7cfe5d..a5f5e69 100644 (file)
@@ -545,22 +545,21 @@ bool GnuLdDriver::parse(int argc, const char *argv[],
     ctx->setOutputFileType(arg->getValue());
 
   // Process ELF/ARM specific options
-  bool hasArmTarget1Rel = parsedArgs->hasArg(OPT_arm_target1_rel);
-  bool hasArmTarget1Abs = parsedArgs->hasArg(OPT_arm_target1_abs);
+  bool hasArmTarget1Rel = parsedArgs->hasArg(OPT_target1_rel);
+  bool hasArmTarget1Abs = parsedArgs->hasArg(OPT_target1_abs);
   if (triple.getArch() == llvm::Triple::arm) {
     if (hasArmTarget1Rel && hasArmTarget1Abs) {
-      diag << "error: options --arm-target1-rel and --arm-target1-abs"
+      diag << "error: options --target1-rel and --target1-abs"
               " can't be used together.\n";
       return false;
     } else if (hasArmTarget1Rel || hasArmTarget1Abs) {
       ctx->setArmTarget1Rel(hasArmTarget1Rel && !hasArmTarget1Abs);
     }
-  } else if (hasArmTarget1Rel) {
-    diag << "warning: ignoring unsupported ARM/ELF specific argument: "
-         << "--arm-target1-rel\n";
-  } else if (hasArmTarget1Abs) {
-    diag << "warning: ignoring unsupported ARM/ELF specific argument: "
-         << "--arm-target1-abs\n";
+  } else {
+    for (const auto *arg : parsedArgs->filtered(OPT_grp_arm_targetopts)) {
+      diag << "warning: ignoring unsupported ARM/ELF specific argument: "
+           << arg->getSpelling() << "\n";
+    }
   }
 
   // Process MIPS specific options.
index 8f4b042..b3c3d90 100644 (file)
@@ -333,10 +333,16 @@ def alias_output_filetype: Joined<["--"], "output-filetype=">,
 //===----------------------------------------------------------------------===//
 def grp_targetopts : OptionGroup<"opts">,
      HelpText<"ARCH SPECIFIC OPTIONS">;
-def arm_target1_rel : Flag<["--"], "arm-target1-rel">,
-     Group<grp_targetopts>, HelpText<"Interpret R_ARM_TARGET1 as R_ARM_REL32">;
-def arm_target1_abs : Flag<["--"], "arm-target1-abs">,
-     Group<grp_targetopts>, HelpText<"Interpret R_ARM_TARGET1 as R_ARM_ABS32">;
+
+//===----------------------------------------------------------------------===//
+/// ARM Target Specific Options
+//===----------------------------------------------------------------------===//
+def grp_arm_targetopts : OptionGroup<"ARM SPECIFIC OPTIONS">,
+     Group<grp_targetopts>;
+def target1_rel : Flag<["--"], "target1-rel">,
+     Group<grp_arm_targetopts>, HelpText<"Interpret R_ARM_TARGET1 as R_ARM_REL32">;
+def target1_abs : Flag<["--"], "target1-abs">,
+     Group<grp_arm_targetopts>, HelpText<"Interpret R_ARM_TARGET1 as R_ARM_ABS32">;
 
 //===----------------------------------------------------------------------===//
 /// MIPS Target Specific Options
index f001c68..a2de45d 100644 (file)
@@ -3,7 +3,7 @@
 # 1. R_ARM_TARGET1 is equal to R_ARM_ABS32
 # RUN: yaml2obj -format=elf -docnum 1 %s > %t-abs32.o
 # RUN: lld -flavor gnu -target arm -m armelf_linux_eabi -Bstatic \
-# RUN: --noinhibit-exec --arm-target1-abs %t-abs32.o -o %t-abs32
+# RUN: --noinhibit-exec --target1-abs %t-abs32.o -o %t-abs32
 # RUN: llvm-objdump -s -t %t-abs32 | FileCheck -check-prefix=CHECK-ABS32 %s
 #
 # CHECK-ABS32: Contents of section .data:
@@ -16,7 +16,7 @@
 # Check handling of R_ARM_REL32 relocation.
 # RUN: yaml2obj -format=elf %s -docnum 2 > %t-rel32.o
 # RUN: lld -flavor gnu -target arm -m armelf_linux_eabi -Bstatic \
-# RUN: --noinhibit-exec --arm-target1-rel %t-rel32.o -o %t-rel32
+# RUN: --noinhibit-exec --target1-rel %t-rel32.o -o %t-rel32
 # RUN: llvm-objdump -s -t %t-rel32 | FileCheck -check-prefix=CHECK-REL32 %s
 #
 # CHECK-REL32: Contents of section .text:
index a91889f..cdcd9b8 100644 (file)
@@ -1,5 +1,5 @@
 # Test of target specific options
-# RUN: lld -flavor gnu -target x86_64 --arm-target1-rel \
+# RUN: lld -flavor gnu -target x86_64 --target1-rel \
 # RUN: %p/../Inputs/foo.o.x86-64 --noinhibit-exec -o %t 2>&1 | FileCheck %s
 
-# CHECK: warning: ignoring unsupported ARM/ELF specific argument: --arm-target1-rel
+# CHECK: warning: ignoring unsupported ARM/ELF specific argument: --target1-rel