[Driver] Add support for -m flag to linker job of Baremetal toolchain (#134442)
This PR is 6th patch in the series of patches of merging RISCVToolchain object into BareMetal toolchain object. RFC: https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
This commit is contained in:
@@ -31,6 +31,8 @@ void AddLinkerInputs(const ToolChain &TC, const InputInfoList &Inputs,
|
||||
const llvm::opt::ArgList &Args,
|
||||
llvm::opt::ArgStringList &CmdArgs, const JobAction &JA);
|
||||
|
||||
const char *getLDMOption(const llvm::Triple &T, const llvm::opt::ArgList &Args);
|
||||
|
||||
void addLinkerCompressDebugSectionsOption(const ToolChain &TC,
|
||||
const llvm::opt::ArgList &Args,
|
||||
llvm::opt::ArgStringList &CmdArgs);
|
||||
|
||||
@@ -573,8 +573,19 @@ void baremetal::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
|
||||
CmdArgs.push_back("-Bstatic");
|
||||
|
||||
if (TC.getTriple().isRISCV() && Args.hasArg(options::OPT_mno_relax))
|
||||
CmdArgs.push_back("--no-relax");
|
||||
if (const char *LDMOption = getLDMOption(TC.getTriple(), Args)) {
|
||||
CmdArgs.push_back("-m");
|
||||
CmdArgs.push_back(LDMOption);
|
||||
} else {
|
||||
D.Diag(diag::err_target_unknown_triple) << Triple.str();
|
||||
return;
|
||||
}
|
||||
|
||||
if (Triple.isRISCV()) {
|
||||
CmdArgs.push_back("-X");
|
||||
if (Args.hasArg(options::OPT_mno_relax))
|
||||
CmdArgs.push_back("--no-relax");
|
||||
}
|
||||
|
||||
if (Triple.isARM() || Triple.isThumb()) {
|
||||
bool IsBigEndian = arm::isARMBigEndian(Triple, Args);
|
||||
|
||||
@@ -527,6 +527,78 @@ void tools::AddLinkerInputs(const ToolChain &TC, const InputInfoList &Inputs,
|
||||
}
|
||||
}
|
||||
|
||||
const char *tools::getLDMOption(const llvm::Triple &T, const ArgList &Args) {
|
||||
switch (T.getArch()) {
|
||||
case llvm::Triple::x86:
|
||||
if (T.isOSIAMCU())
|
||||
return "elf_iamcu";
|
||||
return "elf_i386";
|
||||
case llvm::Triple::aarch64:
|
||||
if (T.isOSManagarm())
|
||||
return "aarch64managarm";
|
||||
return "aarch64linux";
|
||||
case llvm::Triple::aarch64_be:
|
||||
return "aarch64linuxb";
|
||||
case llvm::Triple::arm:
|
||||
case llvm::Triple::thumb:
|
||||
case llvm::Triple::armeb:
|
||||
case llvm::Triple::thumbeb:
|
||||
return tools::arm::isARMBigEndian(T, Args) ? "armelfb_linux_eabi"
|
||||
: "armelf_linux_eabi";
|
||||
case llvm::Triple::m68k:
|
||||
return "m68kelf";
|
||||
case llvm::Triple::ppc:
|
||||
if (T.isOSLinux())
|
||||
return "elf32ppclinux";
|
||||
return "elf32ppc";
|
||||
case llvm::Triple::ppcle:
|
||||
if (T.isOSLinux())
|
||||
return "elf32lppclinux";
|
||||
return "elf32lppc";
|
||||
case llvm::Triple::ppc64:
|
||||
return "elf64ppc";
|
||||
case llvm::Triple::ppc64le:
|
||||
return "elf64lppc";
|
||||
case llvm::Triple::riscv32:
|
||||
return "elf32lriscv";
|
||||
case llvm::Triple::riscv64:
|
||||
return "elf64lriscv";
|
||||
case llvm::Triple::sparc:
|
||||
case llvm::Triple::sparcel:
|
||||
return "elf32_sparc";
|
||||
case llvm::Triple::sparcv9:
|
||||
return "elf64_sparc";
|
||||
case llvm::Triple::loongarch32:
|
||||
return "elf32loongarch";
|
||||
case llvm::Triple::loongarch64:
|
||||
return "elf64loongarch";
|
||||
case llvm::Triple::mips:
|
||||
return "elf32btsmip";
|
||||
case llvm::Triple::mipsel:
|
||||
return "elf32ltsmip";
|
||||
case llvm::Triple::mips64:
|
||||
if (tools::mips::hasMipsAbiArg(Args, "n32") || T.isABIN32())
|
||||
return "elf32btsmipn32";
|
||||
return "elf64btsmip";
|
||||
case llvm::Triple::mips64el:
|
||||
if (tools::mips::hasMipsAbiArg(Args, "n32") || T.isABIN32())
|
||||
return "elf32ltsmipn32";
|
||||
return "elf64ltsmip";
|
||||
case llvm::Triple::systemz:
|
||||
return "elf64_s390";
|
||||
case llvm::Triple::x86_64:
|
||||
if (T.isX32())
|
||||
return "elf32_x86_64";
|
||||
return "elf_x86_64";
|
||||
case llvm::Triple::ve:
|
||||
return "elf64ve";
|
||||
case llvm::Triple::csky:
|
||||
return "cskyelf_linux";
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void tools::addLinkerCompressDebugSectionsOption(
|
||||
const ToolChain &TC, const llvm::opt::ArgList &Args,
|
||||
llvm::opt::ArgStringList &CmdArgs) {
|
||||
|
||||
@@ -219,78 +219,6 @@ void tools::gcc::Linker::RenderExtraToolArgs(const JobAction &JA,
|
||||
// The types are (hopefully) good enough.
|
||||
}
|
||||
|
||||
static const char *getLDMOption(const llvm::Triple &T, const ArgList &Args) {
|
||||
switch (T.getArch()) {
|
||||
case llvm::Triple::x86:
|
||||
if (T.isOSIAMCU())
|
||||
return "elf_iamcu";
|
||||
return "elf_i386";
|
||||
case llvm::Triple::aarch64:
|
||||
if (T.isOSManagarm())
|
||||
return "aarch64managarm";
|
||||
return "aarch64linux";
|
||||
case llvm::Triple::aarch64_be:
|
||||
return "aarch64linuxb";
|
||||
case llvm::Triple::arm:
|
||||
case llvm::Triple::thumb:
|
||||
case llvm::Triple::armeb:
|
||||
case llvm::Triple::thumbeb:
|
||||
return tools::arm::isARMBigEndian(T, Args) ? "armelfb_linux_eabi"
|
||||
: "armelf_linux_eabi";
|
||||
case llvm::Triple::m68k:
|
||||
return "m68kelf";
|
||||
case llvm::Triple::ppc:
|
||||
if (T.isOSLinux())
|
||||
return "elf32ppclinux";
|
||||
return "elf32ppc";
|
||||
case llvm::Triple::ppcle:
|
||||
if (T.isOSLinux())
|
||||
return "elf32lppclinux";
|
||||
return "elf32lppc";
|
||||
case llvm::Triple::ppc64:
|
||||
return "elf64ppc";
|
||||
case llvm::Triple::ppc64le:
|
||||
return "elf64lppc";
|
||||
case llvm::Triple::riscv32:
|
||||
return "elf32lriscv";
|
||||
case llvm::Triple::riscv64:
|
||||
return "elf64lriscv";
|
||||
case llvm::Triple::sparc:
|
||||
case llvm::Triple::sparcel:
|
||||
return "elf32_sparc";
|
||||
case llvm::Triple::sparcv9:
|
||||
return "elf64_sparc";
|
||||
case llvm::Triple::loongarch32:
|
||||
return "elf32loongarch";
|
||||
case llvm::Triple::loongarch64:
|
||||
return "elf64loongarch";
|
||||
case llvm::Triple::mips:
|
||||
return "elf32btsmip";
|
||||
case llvm::Triple::mipsel:
|
||||
return "elf32ltsmip";
|
||||
case llvm::Triple::mips64:
|
||||
if (tools::mips::hasMipsAbiArg(Args, "n32") || T.isABIN32())
|
||||
return "elf32btsmipn32";
|
||||
return "elf64btsmip";
|
||||
case llvm::Triple::mips64el:
|
||||
if (tools::mips::hasMipsAbiArg(Args, "n32") || T.isABIN32())
|
||||
return "elf32ltsmipn32";
|
||||
return "elf64ltsmip";
|
||||
case llvm::Triple::systemz:
|
||||
return "elf64_s390";
|
||||
case llvm::Triple::x86_64:
|
||||
if (T.isX32())
|
||||
return "elf32_x86_64";
|
||||
return "elf_x86_64";
|
||||
case llvm::Triple::ve:
|
||||
return "elf64ve";
|
||||
case llvm::Triple::csky:
|
||||
return "cskyelf_linux";
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
static bool getStaticPIE(const ArgList &Args, const ToolChain &TC) {
|
||||
bool HasStaticPIE = Args.hasArg(options::OPT_static_pie);
|
||||
if (HasStaticPIE && Args.hasArg(options::OPT_no_pie)) {
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
// LLD-AARCH64-BAREMETAL: "-isysroot" "{{.*}}Inputs/basic_aarch64_gcc_tree/aarch64-none-elf"
|
||||
// LLD-AARCH64-BAREMETAL: "-internal-isystem" "{{.*}}Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include"
|
||||
// LLD-AARCH64-BAREMETAL: "{{.*}}/Inputs/lld/ld.lld"
|
||||
// LLD-AARCH64-BAREMETAL: "-Bstatic" "-EL"
|
||||
// LLD-AARCH64-BAREMETAL: "-Bstatic" "-m" "aarch64linux" "-EL"
|
||||
// LLD-AARCH64-BAREMETAL: "{{.*}}/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o"
|
||||
// LLD-AARCH64-BAREMETAL: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o"
|
||||
// LLD-AARCH64-BAREMETAL: "-L{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1"
|
||||
@@ -30,7 +30,7 @@
|
||||
// C-AARCH64-BAREMETAL: "-internal-isystem" "{{.*}}Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include"
|
||||
// C-AARCH64-BAREMETAL: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../bin/aarch64-none-elf-ld"
|
||||
// C-AARCH64-BAREMETAL: "--sysroot={{.*}}/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf"
|
||||
// C-AARCH64-BAREMETAL: "-Bstatic" "-EL"
|
||||
// C-AARCH64-BAREMETAL: "-Bstatic" "-m" "aarch64linux" "-EL"
|
||||
// C-AARCH64-BAREMETAL: "{{.*}}/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o"
|
||||
// C-AARCH64-BAREMETAL: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o"
|
||||
// C-AARCH64-BAREMETAL: "-L{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1"
|
||||
@@ -47,7 +47,7 @@
|
||||
// C-AARCH64-BAREMETAL-NOSYSROOT: "-cc1" "-triple" "aarch64-unknown-none-elf"
|
||||
// C-AARCH64-BAREMETAL-NOSYSROOT: "-internal-isystem" "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../aarch64-none-elf/include"
|
||||
// C-AARCH64-BAREMETAL-NOSYSROOT: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../bin/aarch64-none-elf-ld"
|
||||
// C-AARCH64-BAREMETAL-NOSYSROOT: "-Bstatic" "-EL"
|
||||
// C-AARCH64-BAREMETAL-NOSYSROOT: "-Bstatic" "-m" "aarch64linux" "-EL"
|
||||
// C-AARCH64-BAREMETAL-NOSYSROOT: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../aarch64-none-elf/lib/crt0.o"
|
||||
// C-AARCH64-BAREMETAL-NOSYSROOT: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o"
|
||||
// C-AARCH64-BAREMETAL-NOSYSROOT: "-L{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1"
|
||||
@@ -67,7 +67,7 @@
|
||||
// CXX-AARCH64-BAREMETAL: "-internal-isystem" "{{.*}}/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include"
|
||||
// CXX-AARCH64-BAREMETAL: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../bin/aarch64-none-elf-ld"
|
||||
// CXX-AARCH64-BAREMETAL: "--sysroot={{.*}}/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf"
|
||||
// CXX-AARCH64-BAREMETAL: "-Bstatic" "-EL"
|
||||
// CXX-AARCH64-BAREMETAL: "-Bstatic" "-m" "aarch64linux" "-EL"
|
||||
// CXX-AARCH64-BAREMETAL: "{{.*}}/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o"
|
||||
// CXX-AARCH64-BAREMETAL: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o"
|
||||
// CXX-AARCH64-BAREMETAL: "-L{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1"
|
||||
@@ -86,7 +86,7 @@
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT: "-internal-isystem" "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../aarch64-none-elf/include/c++/8.2.1"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT: "-internal-isystem" "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../aarch64-none-elf/include"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../bin/aarch64-none-elf-ld"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT: "-Bstatic" "-EL"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT: "-Bstatic" "-m" "aarch64linux" "-EL"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../aarch64-none-elf/lib/crt0.o"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT: "-L{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1"
|
||||
@@ -105,7 +105,7 @@
|
||||
// CXX-AARCH64-BAREMETAL-LIBCXX: "-internal-isystem" "{{.*}}/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include"
|
||||
// CXX-AARCH64-BAREMETAL-LIBCXX: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../bin/aarch64-none-elf-ld"
|
||||
// CXX-AARCH64-BAREMETAL-LIBCXX: "--sysroot={{.*}}/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf"
|
||||
// CXX-AARCH64-BAREMETAL-LIBCXX: "-Bstatic" "-EL"
|
||||
// CXX-AARCH64-BAREMETAL-LIBCXX: "-Bstatic" "-m" "aarch64linux" "-EL"
|
||||
// CXX-AARCH64-BAREMETAL-LIBCXX: "{{.*}}/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o"
|
||||
// CXX-AARCH64-BAREMETAL-LIBCXX: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o"
|
||||
// CXX-AARCH64-BAREMETAL-LIBCXX: "-L{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1"
|
||||
@@ -122,7 +122,7 @@
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT-LIBCXX: "-internal-isystem" "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../aarch64-none-elf/include/c++/v1"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT-LIBCXX: "-internal-isystem" "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../aarch64-none-elf/include"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT-LIBCXX: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../bin/aarch64-none-elf-ld"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT-LIBCXX: "-Bstatic" "-EL"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT-LIBCXX: "-Bstatic" "-m" "aarch64linux" "-EL"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT-LIBCXX: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/../../../../aarch64-none-elf/lib/crt0.o"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT-LIBCXX: "{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o"
|
||||
// CXX-AARCH64-BAREMETAL-NOSYSROOT-LIBCXX: "-L{{.*}}/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
// LLD-ARM-BAREMETAL: "-isysroot" "{{.*}}Inputs/basic_arm_gcc_tree/armv6m-none-eabi"
|
||||
// LLD-ARM-BAREMETAL: "-internal-isystem" "{{.*}}Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include"
|
||||
// LLD-ARM-BAREMETAL: "{{.*}}/Inputs/lld/ld.lld"
|
||||
// LLD-ARM-BAREMETAL: "-Bstatic" "-EL"
|
||||
// LLD-ARM-BAREMETAL: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// LLD-ARM-BAREMETAL: "{{.*}}/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o"
|
||||
// LLD-ARM-BAREMETAL: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o"
|
||||
// LLD-ARM-BAREMETAL: "-L{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1"
|
||||
@@ -29,7 +29,7 @@
|
||||
// C-ARM-BAREMETAL: "-internal-isystem" "{{.*}}Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include"
|
||||
// C-ARM-BAREMETAL: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../bin/armv6m-none-eabi-ld"
|
||||
// C-ARM-BAREMETAL: "--sysroot={{.*}}/Inputs/basic_arm_gcc_tree/armv6m-none-eabi"
|
||||
// C-ARM-BAREMETAL: "-Bstatic" "-EL"
|
||||
// C-ARM-BAREMETAL: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// C-ARM-BAREMETAL: "{{.*}}/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o"
|
||||
// C-ARM-BAREMETAL: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o"
|
||||
// C-ARM-BAREMETAL: "-L{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1"
|
||||
@@ -46,7 +46,7 @@
|
||||
// C-ARM-BAREMETAL-NOSYSROOT: "-cc1" "-triple" "thumbv6m-unknown-none-eabi"
|
||||
// C-ARM-BAREMETAL-NOSYSROOT: "-internal-isystem" "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../armv6m-none-eabi/include"
|
||||
// C-ARM-BAREMETAL-NOSYSROOT: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../bin/armv6m-none-eabi-ld"
|
||||
// C-ARM-BAREMETAL-NOSYSROOT: "-Bstatic" "-EL"
|
||||
// C-ARM-BAREMETAL-NOSYSROOT: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// C-ARM-BAREMETAL-NOSYSROOT: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../armv6m-none-eabi/lib/crt0.o"
|
||||
// C-ARM-BAREMETAL-NOSYSROOT: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o"
|
||||
// C-ARM-BAREMETAL-NOSYSROOT: "-L{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1"
|
||||
@@ -67,7 +67,7 @@
|
||||
// CXX-ARM-BAREMETAL: "-internal-isystem" "{{.*}}/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include"
|
||||
// CXX-ARM-BAREMETAL: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../bin/armv6m-none-eabi-ld"
|
||||
// CXX-ARM-BAREMETAL: "--sysroot={{.*}}/Inputs/basic_arm_gcc_tree/armv6m-none-eabi"
|
||||
// CXX-ARM-BAREMETAL: "-Bstatic" "-EL"
|
||||
// CXX-ARM-BAREMETAL: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// CXX-ARM-BAREMETAL: "{{.*}}/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o"
|
||||
// CXX-ARM-BAREMETAL: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o"
|
||||
// CXX-ARM-BAREMETAL: "-L{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1"
|
||||
@@ -87,7 +87,7 @@
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT: "-internal-isystem" "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../armv6m-none-eabi/include/c++/8.2.1"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT: "-internal-isystem" "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../armv6m-none-eabi/include"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../bin/armv6m-none-eabi-ld"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT: "-Bstatic" "-EL"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../armv6m-none-eabi/lib/crt0.o"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT: "-L{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1"
|
||||
@@ -106,7 +106,7 @@
|
||||
// CXX-ARM-BAREMETAL-LIBCXX: "-internal-isystem" "{{.*}}/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include"
|
||||
// CXX-ARM-BAREMETAL-LIBCXX: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../bin/armv6m-none-eabi-ld"
|
||||
// CXX-ARM-BAREMETAL-LIBCXX: "--sysroot={{.*}}/Inputs/basic_arm_gcc_tree/armv6m-none-eabi"
|
||||
// CXX-ARM-BAREMETAL-LIBCXX: "-Bstatic" "-EL"
|
||||
// CXX-ARM-BAREMETAL-LIBCXX: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// CXX-ARM-BAREMETAL-LIBCXX: "{{.*}}/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o"
|
||||
// CXX-ARM-BAREMETAL-LIBCXX: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o"
|
||||
// CXX-ARM-BAREMETAL-LIBCXX: "-L{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1"
|
||||
@@ -123,7 +123,7 @@
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT-LIBCXX: "-internal-isystem" "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../armv6m-none-eabi/include/c++/v1"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT-LIBCXX: "-internal-isystem" "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../armv6m-none-eabi/include"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT-LIBCXX: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../bin/armv6m-none-eabi-ld"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT-LIBCXX: "-Bstatic" "-EL"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT-LIBCXX: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT-LIBCXX: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/../../../../armv6m-none-eabi/lib/crt0.o"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT-LIBCXX: "{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o"
|
||||
// CXX-ARM-BAREMETAL-NOSYSROOT-LIBCXX: "-L{{.*}}/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
// CHECK-V6M-C-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
|
||||
// CHECK-V6M-C-NEXT: ld{{(.exe)?}}"
|
||||
// CHECK-V6M-C-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm"
|
||||
// CHECK-V6M-C-SAME: "-Bstatic" "-EL"
|
||||
// CHECK-V6M-C-SAME: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// CHECK-V6M-C-SAME: "[[SYSROOT:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}crt0.o"
|
||||
// CHECK-V6M-C-SAME: "-T" "semihosted.lds" "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
|
||||
// CHECK-V6M-C-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib"
|
||||
@@ -42,7 +42,8 @@
|
||||
// CHECK-V6M-TREE-SAME: {{^}} "-internal-isystem" "[[INSTALLED_DIR]]{{[/\\]+}}..{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
|
||||
// CHECK-V6M-TREE-SAME: "-internal-isystem" "[[INSTALLED_DIR]]{{[/\\]+}}..{{[/\\]+}}include{{[/\\]+}}armv6m-unknown-none-eabi"
|
||||
// CHECK-V6M-TREE-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
|
||||
// CHECK-V6M-TREE-NEXT: ld{{(.exe)?}}" "-Bstatic" "-EL"
|
||||
// CHECK-V6M-TREE-NEXT: ld{{(.exe)?}}"
|
||||
// CHECK-V6M-TREE-SAME: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// CHECK-V6M-TREE-SAME: "[[INSTALLED_DIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}armv6m-unknown-none-eabi{{[/\\]+}}crt0.o"
|
||||
// CHECK-V6M-TREE-SAME: "-L[[INSTALLED_DIR]]{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}armv6m-unknown-none-eabi"
|
||||
// CHECK-V6M-TREE-SAME "{{.*}}.o"
|
||||
@@ -59,7 +60,7 @@
|
||||
// CHECK-ARMV7M-PER-TARGET: "-x" "c++" "{{.*}}baremetal.cpp"
|
||||
// CHECK-ARMV7M-PER-TARGET: ld{{(.exe)?}}"
|
||||
// CHECK-ARMV7M-PER-TARGET: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm"
|
||||
// CHECK-ARMV7M-PER-TARGET: "-Bstatic" "-EL"
|
||||
// CHECK-ARMV7M-PER-TARGET: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// CHECK-ARMV7M-PER_TARGET: "[[SYSROOT:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}crt0.o"
|
||||
// CHECK-ARMV7M-PER-TARGET: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib"
|
||||
// CHECK-ARMV7M-PER-TARGET: "-L[[RESOURCE_DIR:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}armv7m-vendor-none-eabi
|
||||
@@ -72,7 +73,7 @@
|
||||
// CHECK-V6M-DEFAULTCXX: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
||||
// CHECK-V6M-DEFAULTCXX: ld{{(.exe)?}}"
|
||||
// CHECK-V6M-DEFAULTCXX: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm"
|
||||
// CHECK-V6M-DEFAULTCXX: "-Bstatic" "-EL"
|
||||
// CHECK-V6M-DEFAULTCXX: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// CHECK-V6M-DEFAULTCXX-SAME: "[[SYSROOT:[^"]+]]{{[/\\]+}}lib{{[/\\]+}}crt0.o"
|
||||
// CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib"
|
||||
// CHECK-V6M-DEFAULTCXX-SAME: "{{.*}}.o"
|
||||
@@ -89,7 +90,7 @@
|
||||
// CHECK-V6M-LIBCXX-SAME: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
|
||||
// CHECK-V6M-LIBCXX: ld{{(.exe)?}}"
|
||||
// CHECK-V6M-LIBCXX-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm"
|
||||
// CHECK-V6M-LIBCXX-SAME: "-Bstatic" "-EL"
|
||||
// CHECK-V6M-LIBCXX-SAME: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// CHECK-V6M-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib"
|
||||
// CHECK-V6M-LIBCXX-SAME: "{{.*}}.o"
|
||||
// CHECK-V6M-LIBCXX-SAME: "-lc++"
|
||||
@@ -107,7 +108,7 @@
|
||||
// CHECK-V6M-LIBSTDCXX-SAME: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}6.0.0"
|
||||
// CHECK-V6M-LIBSTDCXX: ld{{(.exe)?}}"
|
||||
// CHECK-V6M-LIBSTDCXX-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm"
|
||||
// CHECK-V6M-LIBSTDCXX-SAME: "-Bstatic" "-EL"
|
||||
// CHECK-V6M-LIBSTDCXX-SAME: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// CHECK-V6M-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib"
|
||||
// CHECK-V6M-LIBSTDCXX-SAME: "{{.*}}.o"
|
||||
// CHECK-V6M-LIBSTDCXX-SAME: "-lstdc++" "-lm"
|
||||
@@ -122,7 +123,7 @@
|
||||
// CHECK-V6M-NDL: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
||||
// CHECK-V6M-NDL: ld{{(.exe)?}}"
|
||||
// CHECK-V6M-NDL: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm"
|
||||
// CHECK-V6M-NDL: "-Bstatic" "-EL"
|
||||
// CHECK-V6M-NDL: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// CHECK-V6M-NDL-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib"
|
||||
|
||||
// RUN: rm -rf %T/baremetal_cxx_sysroot
|
||||
@@ -170,7 +171,7 @@
|
||||
// RUN: | FileCheck --check-prefix=CHECK-ARMV7EB %s
|
||||
// CHECK-ARMV7EB: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-ARMV7EB: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm"
|
||||
// CHECK-ARMV7EB: "-Bstatic" "--be8" "-EB"
|
||||
// CHECK-ARMV7EB: "-Bstatic" "-m" "armelfb_linux_eabi" "--be8" "-EB"
|
||||
|
||||
// RUN: %clang -### %s --target=armv7-none-eabi -mbig-endian --sysroot=%S/Inputs/baremetal_arm 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-ARMV7EB %s
|
||||
@@ -182,7 +183,7 @@
|
||||
// RUN: | FileCheck --check-prefix=CHECK-ARMV7EL %s
|
||||
// CHECK-ARMV7EL: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-ARMV7EL: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm"
|
||||
// CHECK-ARMV7EL: "-Bstatic" "-EL"
|
||||
// CHECK-ARMV7EL: "-Bstatic" "-m" "armelf_linux_eabi" "-EL"
|
||||
// CHECK-ARMV7EL-NOT: "--be8"
|
||||
|
||||
// RUN: %clang -### %s --target=armebv7-none-eabi -mlittle-endian --sysroot=%S/Inputs/baremetal_arm 2>&1 \
|
||||
@@ -195,7 +196,7 @@
|
||||
// RUN: | FileCheck --check-prefix=CHECK-AARCH64BE %s
|
||||
// CHECK-AARCH64BE: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-AARCH64BE: sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm"
|
||||
// CHECK-AARCH64BE: "-Bstatic" "-EB"
|
||||
// CHECK-AARCH64BE: "-Bstatic" "-m" "aarch64linuxb" "-EB"
|
||||
// CHECK-AARCH64BE-NOT: "--be8"
|
||||
|
||||
// RUN: %clang -### %s --target=aarch64-none-elf -mbig-endian --sysroot=%S/Inputs/baremetal_arm 2>&1 \
|
||||
@@ -208,7 +209,7 @@
|
||||
// RUN: | FileCheck --check-prefix=CHECK-AARCH64LE %s
|
||||
// CHECK-AARCH64LE: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-AARCH64LE: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm"
|
||||
// CHECK-AARCH64LE: "-Bstatic" "-EL"
|
||||
// CHECK-AARCH64LE: "-Bstatic" "-m" "aarch64linux" "-EL"
|
||||
// CHECK-AARCH64LE-NOT: "--be8"
|
||||
|
||||
// RUN: %clang -### %s --target=aarch64_be-none-elf -mlittle-endian --sysroot=%S/Inputs/baremetal_arm 2>&1 \
|
||||
@@ -250,7 +251,7 @@
|
||||
// CHECK-RV64-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
|
||||
// CHECK-RV64-NEXT: ld{{(.exe)?}}"
|
||||
// CHECK-RV64-SAME: "--sysroot={{.*}}/Inputs/basic_riscv64_tree/riscv64-unknown-elf"
|
||||
// CHECK-RV64-SAME: "-Bstatic"
|
||||
// CHECK-RV64-SAME: "-Bstatic" "-m" "elf64lriscv" "-X"
|
||||
// CHECK-RV64-SAME: "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
|
||||
// CHECK-RV64-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib"
|
||||
// CHECK-RV64-SAME:"{{.*}}.o"
|
||||
@@ -264,7 +265,7 @@
|
||||
// CHECK-RV64-DEFAULTCXX: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
||||
// CHECK-RV64-DEFAULTCXX: ld{{(.exe)?}}"
|
||||
// CHECK-RV64-DEFAULTCXX-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf"
|
||||
// CHECK-RV64-DEFAULTCXX-SAME: -Bstatic"
|
||||
// CHECK-RV64-DEFAULTCXX-SAME: "-Bstatic" "-m" "elf64lriscv" "-X"
|
||||
// CHECK-RV64-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib"
|
||||
// CHECK-RV64-DEFAULTCXX-SAME:"{{.*}}.o"
|
||||
// CHECK-RV64-DEFAULTCXX-SAME: "-lc++" "-lm"
|
||||
@@ -281,7 +282,7 @@
|
||||
// CHECK-RV64-LIBCXX-SAME: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
|
||||
// CHECK-RV64-LIBCXX: ld{{(.exe)?}}"
|
||||
// CHECK-RV64-LIBCXX-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf"
|
||||
// CHECK-RV64-LIBCXX-SAME: "-Bstatic"
|
||||
// CHECK-RV64-LIBCXX-SAME: "-Bstatic" "-m" "elf64lriscv" "-X"
|
||||
// CHECK-RV64-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib"
|
||||
// CHECK-RV64-LIBCXX-SAME:"{{.*}}.o"
|
||||
// CHECK-RV64-LIBCXX-SAME: "-lc++" "-lm"
|
||||
@@ -298,7 +299,7 @@
|
||||
// CHECK-RV64-LIBSTDCXX-SAME: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}8.0.1"
|
||||
// CHECK-RV64-LIBSTDCXX: ld{{(.exe)?}}"
|
||||
// CHECK-RV64-LIBSTDCXX-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf"
|
||||
// CHECK-RV64-LIBSTDCXX-SAME: "-Bstatic"
|
||||
// CHECK-RV64-LIBSTDCXX-SAME: "-Bstatic" "-m" "elf64lriscv" "-X"
|
||||
// CHECK-RV64-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib"
|
||||
// CHECK-RV64-LIBSTDCXX-SAME: "{{.*}}.o"
|
||||
// CHECK-RV64-LIBSTDCXX-SAME: "-lstdc++" "-lm"
|
||||
@@ -318,7 +319,7 @@
|
||||
// CHECK-RV32-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
|
||||
// CHECK-RV32-NEXT: ld{{(.exe)?}}"
|
||||
// CHECK-RV32-SAME: "--sysroot={{.*}}/Inputs/basic_riscv32_tree/riscv32-unknown-elf"
|
||||
// CHECK-RV32-SAME: "-Bstatic"
|
||||
// CHECK-RV32-SAME: "-Bstatic" "-m" "elf32lriscv" "-X"
|
||||
// CHECK-RV32-SAME: "-Lsome{{[/\\]+}}directory{{[/\\]+}}user{{[/\\]+}}asked{{[/\\]+}}for"
|
||||
// CHECK-RV32-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}lib"
|
||||
// CHECK-RV32-SAME: "{{.*}}.o"
|
||||
@@ -332,7 +333,7 @@
|
||||
// CHECK-RV32-DEFAULTCXX: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
||||
// CHECK-RV32-DEFAULTCXX: ld{{(.exe)?}}"
|
||||
// CHECK-RV32-DEFAULTCXX-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf"
|
||||
// CHECK-RV32-DEFAULTCXX-SAME: "-Bstatic"
|
||||
// CHECK-RV32-DEFAULTCXX-SAME: "-Bstatic" "-m" "elf32lriscv" "-X"
|
||||
// CHECK-RV32-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib"
|
||||
// CHECK-RV32-DEFAULTCXX-SAME: "{{.*}}.o"
|
||||
// CHECK-RV32-DEFAULTCXX-SAME: "-lc++" "-lm"
|
||||
@@ -349,7 +350,7 @@
|
||||
// CHECK-RV32-LIBCXX-SAME: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}v1"
|
||||
// CHECK-RV32-LIBCXX: ld{{(.exe)?}}"
|
||||
// CHECK-RV32-LIBCXX-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf"
|
||||
// CHECK-RV32-LIBCXX-SAME: "-Bstatic"
|
||||
// CHECK-RV32-LIBCXX-SAME: "-Bstatic" "-m" "elf32lriscv" "-X"
|
||||
// CHECK-RV32-LIBCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib"
|
||||
// CHECK-RV32-LIBCXX-SAME: "{{.*}}.o"
|
||||
// CHECK-RV32-LIBCXX-SAME: "-lc++" "-lm"
|
||||
@@ -365,7 +366,7 @@
|
||||
// CHECK-RV32-LIBSTDCXX-SAME: "-internal-isystem" "{{[^"]+}}{{[/\\]+}}include{{[/\\]+}}c++{{[/\\]+}}8.0.1"
|
||||
// CHECK-RV32-LIBSTDCXX: ld{{(.exe)?}}"
|
||||
// CHECK-RV32-LIBSTDCXX-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf"
|
||||
// CHECK-RV32-LIBSTDCXX-SAME: "-Bstatic"
|
||||
// CHECK-RV32-LIBSTDCXX-SAME: "-Bstatic" "-m" "elf32lriscv" "-X"
|
||||
// CHECK-RV32-LIBSTDCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf{{[/\\]+}}lib"
|
||||
// CHECK-RV32-LIBSTDCXX-SAME: "{{.*}}.o"
|
||||
// CHECK-RV32-LIBSTDCXX-SAME: "-lstdc++" "-lm"
|
||||
@@ -390,7 +391,7 @@
|
||||
// CHECK-RV64-NDL: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
||||
// CHECK-RV64-NDL: ld{{(.exe)?}}"
|
||||
// CHECK-RV64-NDL-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf"
|
||||
// CHECK-RV64-NDL-SAME: "-Bstatic"
|
||||
// CHECK-RV64-NDL-SAME: "-Bstatic" "-m" "elf64lriscv" "-X"
|
||||
// CHECK-RV64-NDL-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf{{[/\\]+}}lib"
|
||||
|
||||
// RUN: %clang %s -### 2>&1 --target=riscv64-unknown-elf \
|
||||
@@ -411,7 +412,7 @@
|
||||
// CHECK-RV64FD-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
|
||||
// CHECK-RV64FD-NEXT: ld{{(.exe)?}}"
|
||||
// CHECK-RV64FD-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv64_tree{{[/\\]+}}riscv64-unknown-elf"
|
||||
// CHECK-RV64FD-SAME: "-Bstatic"
|
||||
// CHECK-RV64FD-SAME: "-Bstatic" "-m" "elf64lriscv" "-X"
|
||||
// CHECK-RV64FD-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}rv64imafdc{{[/\\]+}}lp64d{{[/\\]+}}lib"
|
||||
|
||||
// RUN: %clang %s -### 2>&1 --target=riscv32-unknown-elf \
|
||||
@@ -432,7 +433,7 @@
|
||||
// CHECK-RV32I-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
|
||||
// CHECK-RV32I-NEXT: ld{{(.exe)?}}"
|
||||
// CHECK-RV32I-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf"
|
||||
// CHECK-RV32I-SAME: "-Bstatic"
|
||||
// CHECK-RV32I-SAME: "-Bstatic" "-m" "elf32lriscv" "-X"
|
||||
// CHECK-RV32I-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}rv32i{{[/\\]+}}ilp32{{[/\\]+}}lib"
|
||||
|
||||
// RUN: %clang %s -### 2>&1 --target=riscv32-unknown-elf \
|
||||
@@ -453,7 +454,7 @@
|
||||
// CHECK-RV32IM-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
|
||||
// CHECK-RV32IM-NEXT: ld{{(.exe)?}}"
|
||||
// CHECK-RV32IM-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf"
|
||||
// CHECK-RV32IM-SAME: "-Bstatic"
|
||||
// CHECK-RV32IM-SAME: "-Bstatic" "-m" "elf32lriscv" "-X"
|
||||
// CHECK-RV32IM-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}rv32im{{[/\\]+}}ilp32{{[/\\]+}}lib"
|
||||
|
||||
// RUN: %clang %s -### 2>&1 --target=riscv32-unknown-elf \
|
||||
@@ -469,7 +470,7 @@
|
||||
// CHECK-RV32IAC-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
|
||||
// CHECK-RV32IAC-NEXT: ld{{(.exe)?}}"
|
||||
// CHECK-RV32IAC-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf"
|
||||
// CHECK-RV32IAC-SAME: "-Bstatic"
|
||||
// CHECK-RV32IAC-SAME: "-Bstatic" "-m" "elf32lriscv" "-X"
|
||||
// CHECK-RV32IAC-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}rv32iac{{[/\\]+}}ilp32{{[/\\]+}}lib"
|
||||
|
||||
// RUN: %clang %s -### 2>&1 --target=riscv32-unknown-elf -march=rv32imafc -mabi=ilp32f \
|
||||
@@ -492,7 +493,7 @@
|
||||
// CHECK-RV32IMAFC-SAME: "-x" "c++" "{{.*}}baremetal.cpp"
|
||||
// CHECK-RV32IMAFC-NEXT: ld{{(.exe)?}}"
|
||||
// CHECK-RV32IMAFC-SAME: "--sysroot={{.*}}{{[/\\]+}}Inputs{{[/\\]+}}basic_riscv32_tree{{[/\\]+}}riscv32-unknown-elf"
|
||||
// CHECK-RV32IMAFC-SAME: "-Bstatic"
|
||||
// CHECK-RV32IMAFC-SAME: "-Bstatic" "-m" "elf32lriscv" "-X"
|
||||
// CHECK-RV32IMAFC-SAME: "-L[[SYSROOT:[^"]+]]{{[/\\]+}}rv32imafc{{[/\\]+}}ilp32f{{[/\\]+}}lib"
|
||||
|
||||
// RUN: %clang -no-canonical-prefixes %s -### --target=powerpc-unknown-eabi 2>&1 \
|
||||
|
||||
Reference in New Issue
Block a user