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
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.
//===----------------------------------------------------------------------===//
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
# 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:
# 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:
# 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