mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 03:16:07 +00:00

Refactor baremetal driver code to reduce the bespoke additions and base class overrides. This lets us use the per target runtimes like other clang targets. E.g. clang -target armv7m-cros-none-eabi will now be able to use the runtimes installed at <resource_dir>/lib/armv7m-cros-none-eabi instead of the hardcoded path <resource_dir>/lib/baremetal. The older code paths should still continue to work as before if <resource_dir>/lib/<tuple> does not exist. Reviewed By: MaskRay, barannikov88 Differential Revision: https://reviews.llvm.org/D131225
57 lines
2.7 KiB
C
57 lines
2.7 KiB
C
// Test that -print-libgcc-file-name correctly respects -rtlib=compiler-rt.
|
|
|
|
// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
|
|
// RUN: --target=x86_64-pc-linux \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir_with_arch_subdir \
|
|
// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-X8664 %s
|
|
// CHECK-CLANGRT-X8664: libclang_rt.builtins-x86_64.a
|
|
|
|
// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
|
|
// RUN: --target=i386-pc-linux \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir_with_arch_subdir \
|
|
// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I386 %s
|
|
// CHECK-CLANGRT-I386: libclang_rt.builtins-i386.a
|
|
|
|
// Check whether alternate arch values map to the correct library.
|
|
//
|
|
// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
|
|
// RUN: --target=i686-pc-linux \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir_with_arch_subdir \
|
|
// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-I386 %s
|
|
|
|
// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
|
|
// RUN: --target=arm-linux-gnueabi \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir_with_arch_subdir \
|
|
// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-ARM %s
|
|
// CHECK-CLANGRT-ARM: libclang_rt.builtins-arm.a
|
|
|
|
// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
|
|
// RUN: --target=arm-linux-androideabi \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir_with_arch_subdir \
|
|
// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-ARM-ANDROID %s
|
|
// CHECK-CLANGRT-ARM-ANDROID: libclang_rt.builtins-arm-android.a
|
|
|
|
// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
|
|
// RUN: --target=arm-linux-gnueabihf \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir_with_arch_subdir \
|
|
// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-ARMHF %s
|
|
// CHECK-CLANGRT-ARMHF: libclang_rt.builtins-armhf.a
|
|
|
|
// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
|
|
// RUN: --target=arm-linux-gnueabi -mfloat-abi=hard \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir_with_arch_subdir \
|
|
// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-ARM-ABI %s
|
|
// CHECK-CLANGRT-ARM-ABI: libclang_rt.builtins-armhf.a
|
|
|
|
// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
|
|
// RUN: --target=armv7m-none-eabi \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir_with_arch_subdir \
|
|
// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-ARM-BAREMETAL %s
|
|
// CHECK-CLANGRT-ARM-BAREMETAL: libclang_rt.builtins-armv7m.a
|
|
|
|
// RUN: %clang -rtlib=compiler-rt -print-libgcc-file-name 2>&1 \
|
|
// RUN: --target=armv7m-vendor-none-eabi \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \
|
|
// RUN: | FileCheck --check-prefix=CHECK-CLANGRT-ARM-BAREMETAL-PER-TARGET %s
|
|
// CHECK-CLANGRT-ARM-BAREMETAL-PER-TARGET: libclang_rt.builtins.a
|