Skip to content

Commit c198dc7

Browse files
quic-garvgupttru
authored andcommitted
Remove extraneous addition of -X flag in baremetal toolchain (#148855)
Commit 597ee88 moved the -X flag to a new position in the baremetal toolchain's linker job, but unintentionally left the original instance in place. This patch removes the redundant flag, ensuring -X is passed only once. (cherry picked from commit 81651e9)
1 parent b00e0d2 commit c198dc7

File tree

2 files changed

+8
-11
lines changed

2 files changed

+8
-11
lines changed

clang/lib/Driver/ToolChains/BareMetal.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -694,9 +694,6 @@ void baremetal::Linker::ConstructJob(Compilation &C, const JobAction &JA,
694694
NeedCRTs)
695695
CmdArgs.push_back(Args.MakeArgString(TC.GetFilePath(CRTEnd)));
696696

697-
if (TC.getTriple().isRISCV())
698-
CmdArgs.push_back("-X");
699-
700697
// The R_ARM_TARGET2 relocation must be treated as R_ARM_REL32 on arm*-*-elf
701698
// and arm*-*-eabi (the default is R_ARM_GOT_PREL, used on arm*-*-linux and
702699
// arm*-*-*bsd).

clang/test/Driver/baremetal.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@
257257
// CHECK-RV64-SAME:"{{.*}}.o"
258258
// CHECK-RV64-SAME: "{{[^"]*}}libclang_rt.builtins.a"
259259
// CHECK-RV64-SAME: "-lc"
260-
// CHECK-RV64-SAME: "-X" "-o" "{{.*}}.tmp.out"
260+
// CHECK-RV64-SAME: "-o" "{{.*}}.tmp.out"
261261

262262
// RUN: %clangxx %s -### --target=riscv64-unknown-elf 2>&1 \
263263
// RUN: --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \
@@ -271,7 +271,7 @@
271271
// CHECK-RV64-DEFAULTCXX-SAME: "-lc++" "-lm"
272272
// CHECK-RV64-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
273273
// CHECK-RV64-DEFAULTCXX-SAME: "-lc"
274-
// CHECK-RV64-DEFAULTCXX-SAME: "-X" "-o" "a.out"
274+
// CHECK-RV64-DEFAULTCXX-SAME: "-o" "a.out"
275275

276276
// RUN: %clangxx %s -### --target=riscv64-unknown-elf 2>&1 \
277277
// RUN: --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \
@@ -288,7 +288,7 @@
288288
// CHECK-RV64-LIBCXX-SAME: "-lc++" "-lm"
289289
// CHECK-RV64-LIBCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
290290
// CHECK-RV64-LIBCXX-SAME: "-lc"
291-
// CHECK-RV64-LIBCXX-SAME: "-X" "-o" "a.out"
291+
// CHECK-RV64-LIBCXX-SAME: "-o" "a.out"
292292

293293
// RUN: %clangxx %s -### 2>&1 --target=riscv64-unknown-elf \
294294
// RUN: --sysroot=%S/Inputs/basic_riscv64_tree/riscv64-unknown-elf \
@@ -305,7 +305,7 @@
305305
// CHECK-RV64-LIBSTDCXX-SAME: "-lstdc++" "-lm"
306306
// CHECK-RV64-LIBSTDCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
307307
// CHECK-RV64-LIBSTDCXX-SAME: "-lc"
308-
// CHECK-RV64-LIBSTDCXX-SAME: "-X" "-o" "a.out"
308+
// CHECK-RV64-LIBSTDCXX-SAME: "-o" "a.out"
309309

310310
// RUN: %clang %s -### 2>&1 --target=riscv32-unknown-elf \
311311
// RUN: -L some/directory/user/asked/for \
@@ -325,7 +325,7 @@
325325
// CHECK-RV32-SAME: "{{.*}}.o"
326326
// CHECK-RV32-SAME: "{{[^"]*}}libclang_rt.builtins.a"
327327
// CHECK-RV32-SAME: "-lc"
328-
// CHECK-RV32-SAME: "-X" "-o" "a.out"
328+
// CHECK-RV32-SAME: "-o" "a.out"
329329

330330
// RUN: %clangxx %s -### 2>&1 --target=riscv32-unknown-elf \
331331
// RUN: --sysroot=%S/Inputs/basic_riscv32_tree/riscv32-unknown-elf \
@@ -339,7 +339,7 @@
339339
// CHECK-RV32-DEFAULTCXX-SAME: "-lc++" "-lm"
340340
// CHECK-RV32-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
341341
// CHECK-RV32-DEFAULTCXX-SAME: "-lc"
342-
// CHECK-RV32-DEFAULTCXX-SAME: "-X" "-o" "a.out"
342+
// CHECK-RV32-DEFAULTCXX-SAME: "-o" "a.out"
343343

344344
// RUN: %clangxx %s -### 2>&1 --target=riscv32-unknown-elf \
345345
// RUN: --sysroot=%S/Inputs/basic_riscv32_tree/riscv32-unknown-elf \
@@ -355,7 +355,7 @@
355355
// CHECK-RV32-LIBCXX-SAME: "{{.*}}.o"
356356
// CHECK-RV32-LIBCXX-SAME: "-lc++" "-lm"
357357
// CHECK-RV32-LIBCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
358-
// CHECK-RV32-LIBCXX-SAME: "-X" "-o" "a.out"
358+
// CHECK-RV32-LIBCXX-SAME: "-o" "a.out"
359359

360360
// RUN: %clangxx %s -### 2>&1 --target=riscv32-unknown-elf \
361361
// RUN: --sysroot=%S/Inputs/basic_riscv32_tree/riscv32-unknown-elf \
@@ -372,7 +372,7 @@
372372
// CHECK-RV32-LIBSTDCXX-SAME: "-lstdc++" "-lm"
373373
// CHECK-RV32-LIBSTDCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
374374
// CHECK-RV32-LIBSTDCXX-SAME: "-lc"
375-
// CHECK-RV32-LIBSTDCXX-SAME: "-X" "-o" "a.out"
375+
// CHECK-RV32-LIBSTDCXX-SAME: "-o" "a.out"
376376

377377
// RUN: %clang %s -### 2>&1 --target=riscv64-unknown-elf \
378378
// RUN: -nostdlibinc -nobuiltininc \

0 commit comments

Comments
 (0)