Index: lib/Driver/GnuLdDriver.cpp =================================================================== --- lib/Driver/GnuLdDriver.cpp +++ lib/Driver/GnuLdDriver.cpp @@ -539,11 +539,11 @@ 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) { @@ -551,10 +551,10 @@ } } else if (hasArmTarget1Rel) { diag << "warning: ignoring unsupported ARM/ELF specific argument: " - << "--arm-target1-rel\n"; + << "--target1-rel\n"; } else if (hasArmTarget1Abs) { diag << "warning: ignoring unsupported ARM/ELF specific argument: " - << "--arm-target1-abs\n"; + << "--target1-abs\n"; } // Process MIPS specific options. Index: lib/Driver/GnuLdOptions.td =================================================================== --- lib/Driver/GnuLdOptions.td +++ lib/Driver/GnuLdOptions.td @@ -323,10 +323,16 @@ //===----------------------------------------------------------------------===// def grp_targetopts : OptionGroup<"opts">, HelpText<"ARCH SPECIFIC OPTIONS">; -def arm_target1_rel : Flag<["--"], "arm-target1-rel">, - Group, HelpText<"Interpret R_ARM_TARGET1 as R_ARM_REL32">; -def arm_target1_abs : Flag<["--"], "arm-target1-abs">, - Group, HelpText<"Interpret R_ARM_TARGET1 as R_ARM_ABS32">; + +//===----------------------------------------------------------------------===// +/// ARM Target Specific Options +//===----------------------------------------------------------------------===// +def grp_arm_targetopts : OptionGroup<"ARM SPECIFIC OPTIONS">, + Group; +def target1_rel : Flag<["--"], "target1-rel">, + Group, HelpText<"Interpret R_ARM_TARGET1 as R_ARM_REL32">; +def target1_abs : Flag<["--"], "target1-abs">, + Group, HelpText<"Interpret R_ARM_TARGET1 as R_ARM_ABS32">; //===----------------------------------------------------------------------===// /// MIPS Target Specific Options Index: test/elf/ARM/rel-arm-target1.test =================================================================== --- test/elf/ARM/rel-arm-target1.test +++ test/elf/ARM/rel-arm-target1.test @@ -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: test/elf/options/target-specific-args.test =================================================================== --- test/elf/options/target-specific-args.test +++ test/elf/options/target-specific-args.test @@ -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