Skip to content

Commit 79be03d

Browse files
voltur01SquallATF
authored andcommitted
[PATCH] Revert order of libraries and update tests
1 parent a3b77f4 commit 79be03d

File tree

4 files changed

+22
-23
lines changed

4 files changed

+22
-23
lines changed

clang/lib/Driver/ToolChains/BareMetal.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -498,9 +498,8 @@ void baremetal::Linker::ConstructJob(Compilation &C, const JobAction &JA,
498498
}
499499

500500
if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) {
501-
AddRunTimeLibs(TC, D, CmdArgs, Args);
502-
503501
CmdArgs.push_back("-lc");
502+
AddRunTimeLibs(TC, D, CmdArgs, Args);
504503
}
505504

506505
if (D.isUsingLTO()) {

clang/test/Driver/baremetal-multilib.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
# CHECK-SAME: "-x" "c++" "{{.*}}baremetal-multilib.yaml"
1111
# CHECK-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic"
1212
# CHECK-SAME: "-L[[SYSROOT]]/bin/../lib/clang-runtimes/arm-none-eabi/thumb/v8-m.main/fp/lib"
13-
# CHECK-SAME: "{{[^"]*}}libclang_rt.builtins.a"
1413
# CHECK-SAME: "-lc"
14+
# CHECK-SAME: "{{[^"]*}}libclang_rt.builtins.a"
1515
# CHECK-SAME: "-o" "{{.*}}.tmp.out"
1616

1717
# RUN: %clang --multi-lib-config=%s -no-canonical-prefixes -x c++ %s -### -o %t.out 2>&1 \

clang/test/Driver/baremetal-sysroot.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@
1818
// CHECK-V6M-C-SAME: "-x" "c++" "{{.*}}baremetal-sysroot.cpp"
1919
// CHECK-V6M-C-NEXT: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
2020
// CHECK-V6M-C-SAME: "-L{{.*}}/baremetal_default_sysroot{{[/\\]+}}bin{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+}}armv6m-none-eabi{{[/\\]+}}lib"
21-
// CHECK-V6M-C-SAME: "{{[^"]*}}libclang_rt.builtins.a"
2221
// CHECK-V6M-C-SAME: "-lc"
22+
// CHECK-V6M-C-SAME: "{{[^"]*}}libclang_rt.builtins.a"
2323
// CHECK-V6M-C-SAME: "-o" "{{.*}}.o"

clang/test/Driver/baremetal.cpp

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
// CHECK-V6M-C-SAME: "[[SYSROOT:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}crt0.o"
2020
// CHECK-V6M-C-SAME: "-T" "semihosted.lds" "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
2121
// CHECK-V6M-C-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib"
22-
// CHECK-V6M-C-SAME: "{{[^"]*}}libclang_rt.builtins.a"
2322
// CHECK-V6M-C-SAME: "-lc"
23+
// CHECK-V6M-C-SAME: "{{[^"]*}}libclang_rt.builtins.a"
2424
// CHECK-V6M-C-SAME: "--target2=rel" "-o" "{{.*}}.tmp.out"
2525

2626
// RUN: %clang %s -### --target=armv6m-none-eabi -nostdlibinc -nobuiltininc 2>&1 \
@@ -42,8 +42,8 @@
4242
// CHECK-V6M-TREE-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" "-EL"
4343
// CHECK-V6M-TREE-SAME: "[[INSTALLED_DIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}armv6m-unknown-none-eabi{{[/\\]+}}crt0.o"
4444
// CHECK-V6M-TREE-SAME: "-L[[INSTALLED_DIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}armv6m-unknown-none-eabi"
45-
// CHECK-V6M-TREE-SAME: "{{[^"]*}}libclang_rt.builtins.a"
4645
// CHECK-V6M-TREE-SAME: "-lc"
46+
// CHECK-V6M-TREE-SAME: "{{[^"]*}}libclang_rt.builtins.a"
4747
// CHECK-V6M-TREE-SAME: "--target2=rel" "-o" "{{.*}}.tmp.out"
4848

4949
// RUN: %clang %s -### --target=armv7m-vendor-none-eabi -rtlib=compiler-rt 2>&1 \
@@ -57,8 +57,8 @@
5757
// CHECK-ARMV7M-PER_TARGET: "[[SYSROOT:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}crt0.o"
5858
// CHECK-ARMV7M-PER-TARGET: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib"
5959
// CHECK-ARMV7M-PER-TARGET: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}armv7m-vendor-none-eabi
60-
// CHECK-ARMV7M-PER-TARGET: "{{[^"]*}}libclang_rt.builtins.a"
6160
// CHECK-ARMV7M-PER-TARGET: "-lc"
61+
// CHECK-ARMV7M-PER-TARGET: "{{[^"]*}}libclang_rt.builtins.a"
6262

6363
// RUN: %clangxx %s -### --target=armv6m-none-eabi 2>&1 \
6464
// RUN: --sysroot=%S/Inputs/baremetal_arm | FileCheck --check-prefix=CHECK-V6M-DEFAULTCXX %s
@@ -68,8 +68,8 @@
6868
// CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib"
6969
// CHECK-V6M-DEFAULTCXX-SAME: "-lc++"
7070
// CHECK-V6M-DEFAULTCXX-SAME: "-lm"
71-
// CHECK-V6M-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
7271
// CHECK-V6M-DEFAULTCXX-SAME: "-lc"
72+
// CHECK-V6M-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
7373
// CHECK-V6M-DEFAULTCXX-SAME: "--target2=rel" "-o" "a.out"
7474

7575
// RUN: %clangxx %s -### --target=armv6m-none-eabi -stdlib=libc++ 2>&1 \
@@ -81,8 +81,8 @@
8181
// CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib"
8282
// CHECK-V6M-LIBCXX-SAME: "-lc++"
8383
// CHECK-V6M-LIBCXX-SAME: "-lm"
84-
// CHECK-V6M-LIBCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
8584
// CHECK-V6M-LIBCXX-SAME: "-lc"
85+
// CHECK-V6M-LIBCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
8686
// CHECK-V6M-LIBCXX-SAME: "--target2=rel" "-o" "a.out"
8787

8888
// RUN: %clangxx %s -### --target=armv6m-none-eabi 2>&1 \
@@ -95,8 +95,8 @@
9595
// CHECK-V6M-LIBSTDCXX: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic" "-EL"
9696
// CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib"
9797
// CHECK-V6M-LIBSTDCXX-SAME: "-lstdc++" "-lm"
98-
// CHECK-V6M-LIBSTDCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
9998
// CHECK-V6M-LIBSTDCXX-SAME: "-lc"
99+
// CHECK-V6M-LIBSTDCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
100100
// CHECK-V6M-LIBSTDCXX-SAME: "--target2=rel" "-o" "a.out"
101101

102102
// RUN: %clangxx %s -### --target=armv6m-none-eabi 2>&1 \
@@ -120,8 +120,8 @@
120120
// CHECK-V6M-LIBCXX-USR: "{{[^"]*}}-Bstatic"
121121
// CHECK-V6M-LIBCXX-USR-SAME: "-L{{[^"]*}}{{[/\\]+}}baremetal_cxx_sysroot{{[/\\]+}}lib"
122122
// CHECK-V6M-LIBCXX-USR-SAME: "-lc++" "-lm"
123-
// CHECK-V6M-LIBCXX-USR-SAME: "{{[^"]*}}libclang_rt.builtins.a"
124123
// CHECK-V6M-LIBCXX-USR-SAME: "-lc"
124+
// CHECK-V6M-LIBCXX-USR-SAME: "{{[^"]*}}libclang_rt.builtins.a"
125125

126126
// RUN: %clangxx --target=arm-none-eabi -v 2>&1 \
127127
// RUN: | FileCheck %s --check-prefix=CHECK-THREAD-MODEL
@@ -208,8 +208,8 @@
208208
// CHECK-RV64-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic"
209209
// CHECK-RV64-SAME: "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
210210
// CHECK-RV64-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib"
211-
// CHECK-RV64-SAME: "{{[^"]*}}libclang_rt.builtins.a"
212211
// CHECK-RV64-SAME: "-lc"
212+
// CHECK-RV64-SAME: "{{[^"]*}}libclang_rt.builtins.a"
213213
// CHECK-RV64-SAME: "-X" "-o" "{{.*}}.tmp.out"
214214

215215
// RUN: %clangxx %s -### --target=riscv64-unknown-elf 2>&1 \
@@ -219,8 +219,8 @@
219219
// CHECK-RV64-DEFAULTCXX: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic"
220220
// CHECK-RV64-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib"
221221
// CHECK-RV64-DEFAULTCXX-SAME: "-lc++" "-lm"
222-
// CHECK-RV64-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
223222
// CHECK-RV64-DEFAULTCXX-SAME: "-lc"
223+
// CHECK-RV64-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
224224
// CHECK-RV64-DEFAULTCXX-SAME: "-X" "-o" "a.out"
225225

226226
// RUN: %clangxx %s -### --target=riscv64-unknown-elf 2>&1 \
@@ -233,8 +233,8 @@
233233
// CHECK-RV64-LIBCXX: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic"
234234
// CHECK-RV64-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib"
235235
// CHECK-RV64-LIBCXX-SAME: "-lc++" "-lm"
236-
// CHECK-RV64-LIBCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
237236
// CHECK-RV64-LIBCXX-SAME: "-lc"
237+
// CHECK-RV64-LIBCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
238238
// CHECK-RV64-LIBCXX-SAME: "-X" "-o" "a.out"
239239

240240
// RUN: %clangxx %s -### 2>&1 --target=riscv64-unknown-elf \
@@ -247,8 +247,8 @@
247247
// CHECK-RV64-LIBSTDCXX: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic"
248248
// CHECK-RV64-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib"
249249
// CHECK-RV64-LIBSTDCXX-SAME: "-lstdc++" "-lm"
250-
// CHECK-RV64-LIBSTDCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
251250
// CHECK-RV64-LIBSTDCXX-SAME: "-lc"
251+
// CHECK-RV64-LIBSTDCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
252252
// CHECK-RV64-LIBSTDCXX-SAME: "-X" "-o" "a.out"
253253

254254
// RUN: %clang %s -### 2>&1 --target=riscv32-unknown-elf \
@@ -264,8 +264,8 @@
264264
// CHECK-RV32-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic"
265265
// CHECK-RV32-SAME: "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
266266
// CHECK-RV32-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib"
267-
// CHECK-RV32-SAME: "{{[^"]*}}libclang_rt.builtins.a"
268267
// CHECK-RV32-SAME: "-lc"
268+
// CHECK-RV32-SAME: "{{[^"]*}}libclang_rt.builtins.a"
269269
// CHECK-RV32-SAME: "-X" "-o" "a.out"
270270

271271
// RUN: %clangxx %s -### 2>&1 --target=riscv32-unknown-elf \
@@ -275,8 +275,8 @@
275275
// CHECK-RV32-DEFAULTCXX: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic"
276276
// CHECK-RV32-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib"
277277
// CHECK-RV32-DEFAULTCXX-SAME: "-lc++" "-lm"
278-
// CHECK-RV32-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
279278
// CHECK-RV32-DEFAULTCXX-SAME: "-lc"
279+
// CHECK-RV32-DEFAULTCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
280280
// CHECK-RV32-DEFAULTCXX-SAME: "-X" "-o" "a.out"
281281

282282
// RUN: %clangxx %s -### 2>&1 --target=riscv32-unknown-elf \
@@ -301,9 +301,9 @@
301301
// CHECK-RV32-LIBSTDCXX-SAME: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}8.0.1"
302302
// CHECK-RV32-LIBSTDCXX: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic"
303303
// CHECK-RV32-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib"
304-
// CHECK-RV32-LIBSTDCXX-SAME: "-lstdc++" "-lm"
304+
// CHECK-RV32-LIBSTDCXX-SAME: "-lstdc++" "-lm" "-lc"
305305
// CHECK-RV32-LIBSTDCXX-SAME: "{{[^"]*}}libclang_rt.builtins.a"
306-
// CHECK-RV32-LIBSTDCXX-SAME: "-lc" "-X" "-o" "a.out"
306+
// CHECK-RV32-LIBSTDCXX-SAME: "-X" "-o" "a.out"
307307

308308
// RUN: %clang %s -### 2>&1 --target=riscv64-unknown-elf \
309309
// RUN: -nostdlibinc -nobuiltininc \
@@ -425,8 +425,8 @@
425425
// CHECK-PPCEABI-SAME: "-internal-isystem" "[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}include"
426426
// CHECK-PPCEABI-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic"
427427
// CHECK-PPCEABI-SAME: "-L[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}lib"
428-
// CHECK-PPCEABI-SAME: "{{[^"]*}}libclang_rt.builtins.a"
429428
// CHECK-PPCEABI-SAME: "-lc"
429+
// CHECK-PPCEABI-SAME: "{{[^"]*}}libclang_rt.builtins.a"
430430
// CHECK-PPCEABI-SAME: "-o" "a.out"
431431

432432
// RUN: %clang -no-canonical-prefixes %s -### --target=powerpc64-unknown-eabi 2>&1 \
@@ -439,8 +439,8 @@
439439
// CHECK-PPC64EABI-SAME: "-internal-isystem" "[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}include"
440440
// CHECK-PPC64EABI-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic"
441441
// CHECK-PPC64EABI-SAME: "-L[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}lib"
442-
// CHECK-PPC64EABI-SAME: "{{[^"]*}}libclang_rt.builtins.a"
443442
// CHECK-PPC64EABI-SAME: "-lc"
443+
// CHECK-PPC64EABI-SAME: "{{[^"]*}}libclang_rt.builtins.a"
444444
// CHECK-PPC64EABI-SAME: "-o" "a.out"
445445

446446
// RUN: %clang -no-canonical-prefixes %s -### --target=powerpcle-unknown-eabi 2>&1 \
@@ -453,8 +453,8 @@
453453
// CHECK-PPCLEEABI-SAME: "-internal-isystem" "[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}include"
454454
// CHECK-PPCLEEABI-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic"
455455
// CHECK-PPCLEEABI-SAME: "-L[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}lib"
456-
// CHECK-PPCLEEABI-SAME: "{{[^"]*}}libclang_rt.builtins.a"
457456
// CHECK-PPCLEEABI-SAME: "-lc"
457+
// CHECK-PPCLEEABI-SAME: "{{[^"]*}}libclang_rt.builtins.a"
458458
// CHECK-PPCLEEABI-SAME: "-o" "a.out"
459459

460460
// RUN: %clang -no-canonical-prefixes %s -### --target=powerpc64le-unknown-eabi 2>&1 \
@@ -467,8 +467,8 @@
467467
// CHECK-PPC64LEEABI-SAME: "-internal-isystem" "[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}include"
468468
// CHECK-PPC64LEEABI-NEXT: ld{{(.exe)?}}" "{{.*}}.o" "-Bstatic"
469469
// CHECK-PPC64LEEABI-SAME: "-L[[INSTALLEDDIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}clang-runtimes{{[/\\]+[^"]*}}lib"
470-
// CHECK-PPC64LEEABI-SAME: "{{[^"]*}}libclang_rt.builtins.a"
471470
// CHECK-PPC64LEEABI-SAME: "-lc"
471+
// CHECK-PPC64LEEABI-SAME: "{{[^"]*}}libclang_rt.builtins.a"
472472
// CHECK-PPC64LEEABI-SAME: "-o" "a.out"
473473

474474
// Check that compiler-rt library without the arch filename suffix will

0 commit comments

Comments
 (0)