forked from OSchip/llvm-project
[Driver] Support -muclibc / -mglibc command line options for a couple
of MIPS toolchains. The uCLibc implemented for multiple architectures. A couple of MIPS toolchains contains both uCLibc and glibc implementation so these options allow to select used C library. Initially -muclibc / -mglibc (as well as -mbionic) have been implemented in gcc for various architectures so they are not MIPS specific. llvm-svn: 215552
This commit is contained in:
parent
dd13b30c29
commit
d95c67d425
|
@ -80,6 +80,7 @@ def m_hexagon_Features_Group : OptionGroup<"<m hexagon features group>">, Group
|
|||
def m_arm_Features_Group : OptionGroup<"<m arm features group>">, Group<m_Group>;
|
||||
def m_aarch64_Features_Group : OptionGroup<"<m aarch64 features group>">, Group<m_Group>;
|
||||
def m_ppc_Features_Group : OptionGroup<"<m ppc features group>">, Group<m_Group>;
|
||||
def m_libc_Group : OptionGroup<"<m libc group>">, Group<m_Group>;
|
||||
def u_Group : OptionGroup<"<u group>">;
|
||||
|
||||
def pedantic_Group : OptionGroup<"<pedantic group>">,
|
||||
|
@ -1304,6 +1305,8 @@ def modd_spreg : Flag<["-"], "modd-spreg">, Group<m_Group>,
|
|||
def mno_odd_spreg : Flag<["-"], "mno-odd-spreg">, Group<m_Group>,
|
||||
HelpText<"Disable odd single-precision floating point registers">,
|
||||
Flags<[HelpHidden]>;
|
||||
def mglibc : Flag<["-"], "mglibc">, Group<m_libc_Group>, Flags<[HelpHidden]>;
|
||||
def muclibc : Flag<["-"], "muclibc">, Group<m_libc_Group>, Flags<[HelpHidden]>;
|
||||
def module_file_info : Flag<["-"], "module-file-info">, Flags<[DriverOption,CC1Option]>, Group<Action_Group>;
|
||||
def mthumb : Flag<["-"], "mthumb">, Group<m_Group>;
|
||||
def mtune_EQ : Joined<["-"], "mtune=">, Group<m_Group>;
|
||||
|
|
|
@ -1696,6 +1696,9 @@ static bool findMIPSMultilibs(const llvm::Triple &TargetTriple, StringRef Path,
|
|||
auto Mips16 = makeMultilib("/mips16")
|
||||
.flag("+mips16");
|
||||
|
||||
auto UCLibc = makeMultilib("/uclibc")
|
||||
.flag("+muclibc");
|
||||
|
||||
auto MAbi64 = makeMultilib("/64")
|
||||
.flag("+mabi=n64").flag("-mabi=n32").flag("-m32");
|
||||
|
||||
|
@ -1714,6 +1717,7 @@ static bool findMIPSMultilibs(const llvm::Triple &TargetTriple, StringRef Path,
|
|||
FSFMipsMultilibs = MultilibSet()
|
||||
.Either(MArchMips32, MArchMicroMips,
|
||||
MArchMips64r2, MArchMips64, MArchDefault)
|
||||
.Maybe(UCLibc)
|
||||
.Maybe(Mips16)
|
||||
.FilterOut("/mips64/mips16")
|
||||
.FilterOut("/mips64r2/mips16")
|
||||
|
@ -1732,7 +1736,11 @@ static bool findMIPSMultilibs(const llvm::Triple &TargetTriple, StringRef Path,
|
|||
StringRef InstallDir, StringRef TripleStr, const Multilib &M) {
|
||||
std::vector<std::string> Dirs;
|
||||
Dirs.push_back((InstallDir + "/include").str());
|
||||
Dirs.push_back((InstallDir + "/../../../../sysroot/usr/include").str());
|
||||
std::string SysRootInc = InstallDir.str() + "/../../../../sysroot";
|
||||
if (StringRef(M.includeSuffix()).startswith("/uclibc"))
|
||||
Dirs.push_back(SysRootInc + "/uclibc/usr/include");
|
||||
else
|
||||
Dirs.push_back(SysRootInc + "/usr/include");
|
||||
return Dirs;
|
||||
});
|
||||
}
|
||||
|
@ -1749,6 +1757,9 @@ static bool findMIPSMultilibs(const llvm::Triple &TargetTriple, StringRef Path,
|
|||
auto MArchDefault = makeMultilib("")
|
||||
.flag("-mips16").flag("-mmicromips");
|
||||
|
||||
auto UCLibc = makeMultilib("/uclibc")
|
||||
.flag("+muclibc");
|
||||
|
||||
auto SoftFloat = makeMultilib("/soft-float")
|
||||
.flag("+msoft-float");
|
||||
|
||||
|
@ -1772,6 +1783,7 @@ static bool findMIPSMultilibs(const llvm::Triple &TargetTriple, StringRef Path,
|
|||
|
||||
CSMipsMultilibs = MultilibSet()
|
||||
.Either(MArchMips16, MArchMicroMips, MArchDefault)
|
||||
.Maybe(UCLibc)
|
||||
.Either(SoftFloat, Nan2008, DefaultFloat)
|
||||
.FilterOut("/micromips/nan2008")
|
||||
.FilterOut("/mips16/nan2008")
|
||||
|
@ -1784,8 +1796,12 @@ static bool findMIPSMultilibs(const llvm::Triple &TargetTriple, StringRef Path,
|
|||
StringRef InstallDir, StringRef TripleStr, const Multilib &M) {
|
||||
std::vector<std::string> Dirs;
|
||||
Dirs.push_back((InstallDir + "/include").str());
|
||||
Dirs.push_back((InstallDir + "/../../../../" + TripleStr +
|
||||
"/libc/usr/include").str());
|
||||
std::string SysRootInc =
|
||||
InstallDir.str() + "/../../../../" + TripleStr.str();
|
||||
if (StringRef(M.includeSuffix()).startswith("/uclibc"))
|
||||
Dirs.push_back(SysRootInc + "/libc/uclibc/usr/include");
|
||||
else
|
||||
Dirs.push_back(SysRootInc + "/libc/usr/include");
|
||||
return Dirs;
|
||||
});
|
||||
}
|
||||
|
@ -1855,6 +1871,7 @@ static bool findMIPSMultilibs(const llvm::Triple &TargetTriple, StringRef Path,
|
|||
addMultilibFlag(CPUName == "mips64r2" || CPUName == "octeon",
|
||||
"march=mips64r2", Flags);
|
||||
addMultilibFlag(isMicroMips(Args), "mmicromips", Flags);
|
||||
addMultilibFlag(tools::mips::isUCLibc(Args), "muclibc", Flags);
|
||||
addMultilibFlag(tools::mips::isNaN2008(Args, TargetTriple), "mnan=2008",
|
||||
Flags);
|
||||
addMultilibFlag(ABIName == "n32", "mabi=n32", Flags);
|
||||
|
|
|
@ -5377,6 +5377,11 @@ bool mips::hasMipsAbiArg(const ArgList &Args, const char *Value) {
|
|||
return A && (A->getValue() == StringRef(Value));
|
||||
}
|
||||
|
||||
bool mips::isUCLibc(const ArgList &Args) {
|
||||
Arg *A = Args.getLastArg(options::OPT_m_libc_Group);
|
||||
return A && A->getOption().matches(options::OPT_muclibc);
|
||||
}
|
||||
|
||||
bool mips::isNaN2008(const ArgList &Args, const llvm::Triple &Triple) {
|
||||
if (Arg *NaNArg = Args.getLastArg(options::OPT_mnan_EQ))
|
||||
return llvm::StringSwitch<bool>(NaNArg->getValue())
|
||||
|
@ -7302,7 +7307,11 @@ static std::string getLinuxDynamicLinker(const ArgList &Args,
|
|||
.Case("n32", "/lib32")
|
||||
.Case("n64", "/lib64")
|
||||
.Default("/lib");
|
||||
StringRef LibName = IsNaN2008 ? "ld-linux-mipsn8.so.1" : "ld.so.1";
|
||||
StringRef LibName;
|
||||
if (mips::isUCLibc(Args))
|
||||
LibName = IsNaN2008 ? "ld-uClibc-mipsn8.so.0" : "ld-uClibc.so.0";
|
||||
else
|
||||
LibName = IsNaN2008 ? "ld-linux-mipsn8.so.1" : "ld.so.1";
|
||||
|
||||
return (LibDir + "/" + LibName).str();
|
||||
} else if (ToolChain.getArch() == llvm::Triple::ppc)
|
||||
|
|
|
@ -223,6 +223,7 @@ namespace mips {
|
|||
const llvm::Triple &Triple, StringRef &CPUName,
|
||||
StringRef &ABIName);
|
||||
bool hasMipsAbiArg(const llvm::opt::ArgList &Args, const char *Value);
|
||||
bool isUCLibc(const llvm::opt::ArgList &Args);
|
||||
bool isNaN2008(const llvm::opt::ArgList &Args, const llvm::Triple &Triple);
|
||||
bool isFPXXDefault(const llvm::Triple &Triple, StringRef CPUName,
|
||||
StringRef ABIName);
|
||||
|
|
|
@ -28,6 +28,35 @@
|
|||
// CHECK-BE-HF-32: "[[TC]]{{/|\\\\}}crtend.o"
|
||||
// CHECK-BE-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Big-endian, hard float, uclibc
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mips-linux-gnu -muclibc \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-BE-UC-HF-32 %s
|
||||
// CHECK-BE-UC-HF-32: "-internal-isystem"
|
||||
// CHECK-BE-UC-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
|
||||
// CHECK-BE-UC-HF-32: "-internal-isystem"
|
||||
// CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc"
|
||||
// CHECK-BE-UC-HF-32: "-internal-isystem"
|
||||
// CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
|
||||
// CHECK-BE-UC-HF-32: "-internal-externc-isystem"
|
||||
// CHECK-BE-UC-HF-32: "[[TC]]/include"
|
||||
// CHECK-BE-UC-HF-32: "-internal-externc-isystem"
|
||||
// CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include"
|
||||
// CHECK-BE-UC-HF-32: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-BE-UC-HF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc"
|
||||
// CHECK-BE-UC-HF-32: "-dynamic-linker" "/lib/ld-uClibc.so.0"
|
||||
// CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/lib/../lib{{/|\\\\}}crt1.o"
|
||||
// CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/lib/../lib{{/|\\\\}}crti.o"
|
||||
// CHECK-BE-UC-HF-32: "[[TC]]/uclibc{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-BE-UC-HF-32: "-L[[TC]]/uclibc"
|
||||
// CHECK-BE-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc"
|
||||
// CHECK-BE-UC-HF-32-NOT: "-L[[TC]]"
|
||||
// CHECK-BE-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/lib/../lib"
|
||||
// CHECK-BE-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/lib/../lib"
|
||||
// CHECK-BE-UC-HF-32: "[[TC]]/uclibc{{/|\\\\}}crtend.o"
|
||||
// CHECK-BE-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Big-endian, hard float, mips16
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mips-linux-gnu -mips16 \
|
||||
|
@ -115,6 +144,35 @@
|
|||
// CHECK-BE-HF-NAN: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
|
||||
// CHECK-BE-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Big-endian, hard float, uclibc, nan2008
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mips-linux-gnu -muclibc -mnan=2008 \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-BE-UC-HF-NAN %s
|
||||
// CHECK-BE-UC-HF-NAN: "-internal-isystem"
|
||||
// CHECK-BE-UC-HF-NAN: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
|
||||
// CHECK-BE-UC-HF-NAN: "-internal-isystem"
|
||||
// CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/nan2008"
|
||||
// CHECK-BE-UC-HF-NAN: "-internal-isystem"
|
||||
// CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
|
||||
// CHECK-BE-UC-HF-NAN: "-internal-externc-isystem"
|
||||
// CHECK-BE-UC-HF-NAN: "[[TC]]/include"
|
||||
// CHECK-BE-UC-HF-NAN: "-internal-externc-isystem"
|
||||
// CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include"
|
||||
// CHECK-BE-UC-HF-NAN: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-BE-UC-HF-NAN: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008"
|
||||
// CHECK-BE-UC-HF-NAN: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0"
|
||||
// CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
|
||||
// CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
|
||||
// CHECK-BE-UC-HF-NAN: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-BE-UC-HF-NAN: "-L[[TC]]/uclibc/nan2008"
|
||||
// CHECK-BE-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/nan2008"
|
||||
// CHECK-BE-UC-HF-NAN-NOT: "-L[[TC]]"
|
||||
// CHECK-BE-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/lib/../lib"
|
||||
// CHECK-BE-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/usr/lib/../lib"
|
||||
// CHECK-BE-UC-HF-NAN: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtend.o"
|
||||
// CHECK-BE-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Big-endian, soft float
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mips-linux-gnu -msoft-float \
|
||||
|
@ -144,6 +202,35 @@
|
|||
// CHECK-BE-SF-32: "[[TC]]/soft-float{{/|\\\\}}crtend.o"
|
||||
// CHECK-BE-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Big-endian, soft float, uclibc
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mips-linux-gnu -muclibc -msoft-float \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-BE-UC-SF-32 %s
|
||||
// CHECK-BE-UC-SF-32: "-internal-isystem"
|
||||
// CHECK-BE-UC-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
|
||||
// CHECK-BE-UC-SF-32: "-internal-isystem"
|
||||
// CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/soft-float"
|
||||
// CHECK-BE-UC-SF-32: "-internal-isystem"
|
||||
// CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
|
||||
// CHECK-BE-UC-SF-32: "-internal-externc-isystem"
|
||||
// CHECK-BE-UC-SF-32: "[[TC]]/include"
|
||||
// CHECK-BE-UC-SF-32: "-internal-externc-isystem"
|
||||
// CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include"
|
||||
// CHECK-BE-UC-SF-32: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-BE-UC-SF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float"
|
||||
// CHECK-BE-UC-SF-32: "-dynamic-linker" "/lib/ld-uClibc.so.0"
|
||||
// CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o"
|
||||
// CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/usr/lib/../lib{{/|\\\\}}crti.o"
|
||||
// CHECK-BE-UC-SF-32: "[[TC]]/uclibc/soft-float{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-BE-UC-SF-32: "-L[[TC]]/uclibc/soft-float"
|
||||
// CHECK-BE-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/soft-float"
|
||||
// CHECK-BE-UC-SF-32-NOT: "-L[[TC]]"
|
||||
// CHECK-BE-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/lib/../lib"
|
||||
// CHECK-BE-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/usr/lib/../lib"
|
||||
// CHECK-BE-UC-SF-32: "[[TC]]/uclibc/soft-float{{/|\\\\}}crtend.o"
|
||||
// CHECK-BE-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Big-endian, soft float, mips16
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mips-linux-gnu -msoft-float -mips16 \
|
||||
|
@ -289,6 +376,35 @@
|
|||
// CHECK-EL-HF-32: "[[TC]]/el{{/|\\\\}}crtend.o"
|
||||
// CHECK-EL-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Little-endian, hard float, uclibc
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mipsel-linux-gnu -mhard-float -muclibc \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-EL-UC-HF-32 %s
|
||||
// CHECK-EL-UC-HF-32: "-internal-isystem"
|
||||
// CHECK-EL-UC-HF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
|
||||
// CHECK-EL-UC-HF-32: "-internal-isystem"
|
||||
// CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/el"
|
||||
// CHECK-EL-UC-HF-32: "-internal-isystem"
|
||||
// CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
|
||||
// CHECK-EL-UC-HF-32: "-internal-externc-isystem"
|
||||
// CHECK-EL-UC-HF-32: "[[TC]]/include"
|
||||
// CHECK-EL-UC-HF-32: "-internal-externc-isystem"
|
||||
// CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include"
|
||||
// CHECK-EL-UC-HF-32: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-EL-UC-HF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el"
|
||||
// CHECK-EL-UC-HF-32: "-dynamic-linker" "/lib/ld-uClibc.so.0"
|
||||
// CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/usr/lib/../lib{{/|\\\\}}crt1.o"
|
||||
// CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/usr/lib/../lib{{/|\\\\}}crti.o"
|
||||
// CHECK-EL-UC-HF-32: "[[TC]]/uclibc/el{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-EL-UC-HF-32: "-L[[TC]]/uclibc/el"
|
||||
// CHECK-EL-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/el"
|
||||
// CHECK-EL-UC-HF-32-NOT: "-L[[TC]]"
|
||||
// CHECK-EL-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/lib/../lib"
|
||||
// CHECK-EL-UC-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/usr/lib/../lib"
|
||||
// CHECK-EL-UC-HF-32: "[[TC]]/uclibc/el{{/|\\\\}}crtend.o"
|
||||
// CHECK-EL-UC-HF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/el/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Little-endian, hard float, mips16
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mipsel-linux-gnu -mips16 \
|
||||
|
@ -376,6 +492,35 @@
|
|||
// CHECK-EL-HF-NAN: "[[TC]]/nan2008/el{{/|\\\\}}crtend.o"
|
||||
// CHECK-EL-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/nan2008/el/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Little-endian, hard float, uclibc, nan2008
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mipsel-linux-gnu -muclibc -mnan=2008 \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-EL-UC-HF-NAN %s
|
||||
// CHECK-EL-UC-HF-NAN: "-internal-isystem"
|
||||
// CHECK-EL-UC-HF-NAN: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
|
||||
// CHECK-EL-UC-HF-NAN: "-internal-isystem"
|
||||
// CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/nan2008/el"
|
||||
// CHECK-EL-UC-HF-NAN: "-internal-isystem"
|
||||
// CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
|
||||
// CHECK-EL-UC-HF-NAN: "-internal-externc-isystem"
|
||||
// CHECK-EL-UC-HF-NAN: "[[TC]]/include"
|
||||
// CHECK-EL-UC-HF-NAN: "-internal-externc-isystem"
|
||||
// CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include"
|
||||
// CHECK-EL-UC-HF-NAN: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-EL-UC-HF-NAN: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el"
|
||||
// CHECK-EL-UC-HF-NAN: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0"
|
||||
// CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/../lib{{/|\\\\}}crt1.o"
|
||||
// CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/../lib{{/|\\\\}}crti.o"
|
||||
// CHECK-EL-UC-HF-NAN: "[[TC]]/uclibc/nan2008/el{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-EL-UC-HF-NAN: "-L[[TC]]/uclibc/nan2008/el"
|
||||
// CHECK-EL-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/nan2008/el"
|
||||
// CHECK-EL-UC-HF-NAN-NOT: "-L[[TC]]"
|
||||
// CHECK-EL-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/lib/../lib"
|
||||
// CHECK-EL-UC-HF-NAN: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/../lib"
|
||||
// CHECK-EL-UC-HF-NAN: "[[TC]]/uclibc/nan2008/el{{/|\\\\}}crtend.o"
|
||||
// CHECK-EL-UC-HF-NAN: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Little-endian, soft float
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mipsel-linux-gnu -mfloat-abi=soft \
|
||||
|
@ -405,6 +550,35 @@
|
|||
// CHECK-EL-SF-32: "[[TC]]/soft-float/el{{/|\\\\}}crtend.o"
|
||||
// CHECK-EL-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Little-endian, soft float, uclibc
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mipsel-linux-gnu -mfloat-abi=soft -muclibc \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/mips_cs_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-EL-UC-SF-32 %s
|
||||
// CHECK-EL-UC-SF-32: "-internal-isystem"
|
||||
// CHECK-EL-UC-SF-32: "[[TC:[^"]+/lib/gcc/mips-linux-gnu/4.6.3]]/../../../../mips-linux-gnu/include/c++/4.6.3"
|
||||
// CHECK-EL-UC-SF-32: "-internal-isystem"
|
||||
// CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/mips-linux-gnu/uclibc/soft-float/el"
|
||||
// CHECK-EL-UC-SF-32: "-internal-isystem"
|
||||
// CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/include/c++/4.6.3/backward"
|
||||
// CHECK-EL-UC-SF-32: "-internal-externc-isystem"
|
||||
// CHECK-EL-UC-SF-32: "[[TC]]/include"
|
||||
// CHECK-EL-UC-SF-32: "-internal-externc-isystem"
|
||||
// CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/usr/include"
|
||||
// CHECK-EL-UC-SF-32: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-EL-UC-SF-32: "--sysroot=[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el"
|
||||
// CHECK-EL-UC-SF-32: "-dynamic-linker" "/lib/ld-uClibc.so.0"
|
||||
// CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o"
|
||||
// CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o"
|
||||
// CHECK-EL-UC-SF-32: "[[TC]]/uclibc/soft-float/el{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-EL-UC-SF-32: "-L[[TC]]/uclibc/soft-float/el"
|
||||
// CHECK-EL-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/uclibc/soft-float/el"
|
||||
// CHECK-EL-UC-SF-32-NOT: "-L[[TC]]"
|
||||
// CHECK-EL-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/lib/../lib"
|
||||
// CHECK-EL-UC-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/../lib"
|
||||
// CHECK-EL-UC-SF-32: "[[TC]]/uclibc/soft-float/el{{/|\\\\}}crtend.o"
|
||||
// CHECK-EL-UC-SF-32: "[[TC]]/../../../../mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Little-endian, soft float, mips16
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mipsel-linux-gnu -mips16 -msoft-float \
|
||||
|
|
|
@ -297,6 +297,33 @@
|
|||
// CHECK-BE-HF-32R2: "[[TC]]{{/|\\\\}}crtend.o"
|
||||
// CHECK-BE-HF-32R2: "[[TC]]/../../../../sysroot/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Big-endian, mips32r2, hard float, uclibc
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mips-linux-gnu -mips32r2 -mhard-float -muclibc \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-BE-UC-HF-32R2 %s
|
||||
// CHECK-BE-UC-HF-32R2: "-internal-isystem"
|
||||
// CHECK-BE-UC-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
|
||||
// CHECK-BE-UC-HF-32R2: "-internal-isystem"
|
||||
// CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc"
|
||||
// CHECK-BE-UC-HF-32R2: "-internal-isystem"
|
||||
// CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
|
||||
// CHECK-BE-UC-HF-32R2: "-internal-externc-isystem"
|
||||
// CHECK-BE-UC-HF-32R2: "[[TC]]/include"
|
||||
// CHECK-BE-UC-HF-32R2: "-internal-externc-isystem"
|
||||
// CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
|
||||
// CHECK-BE-UC-HF-32R2: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-BE-UC-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc"
|
||||
// CHECK-BE-UC-HF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
|
||||
// CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib{{/|\\\\}}crt1.o"
|
||||
// CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib{{/|\\\\}}crti.o"
|
||||
// CHECK-BE-UC-HF-32R2: "[[TC]]/uclibc{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-BE-UC-HF-32R2: "-L[[TC]]/uclibc"
|
||||
// CHECK-BE-UC-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc"
|
||||
// CHECK-BE-UC-HF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib"
|
||||
// CHECK-BE-UC-HF-32R2: "[[TC]]/uclibc{{/|\\\\}}crtend.o"
|
||||
// CHECK-BE-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Big-endian, mips32r2, fp64, hard float
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mips-linux-gnu -mips32r2 -mfp64 -mhard-float \
|
||||
|
@ -351,6 +378,33 @@
|
|||
// CHECK-BE-SF-32R2: "[[TC]]/sof{{/|\\\\}}crtend.o"
|
||||
// CHECK-BE-SF-32R2: "[[TC]]/../../../../sysroot/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Big-endian, mips32r2, soft float, uclibc
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mips-linux-gnu -mips32r2 -msoft-float -muclibc \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-BE-UC-SF-32R2 %s
|
||||
// CHECK-BE-UC-SF-32R2: "-internal-isystem"
|
||||
// CHECK-BE-UC-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
|
||||
// CHECK-BE-UC-SF-32R2: "-internal-isystem"
|
||||
// CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/sof"
|
||||
// CHECK-BE-UC-SF-32R2: "-internal-isystem"
|
||||
// CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
|
||||
// CHECK-BE-UC-SF-32R2: "-internal-externc-isystem"
|
||||
// CHECK-BE-UC-SF-32R2: "[[TC]]/include"
|
||||
// CHECK-BE-UC-SF-32R2: "-internal-externc-isystem"
|
||||
// CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
|
||||
// CHECK-BE-UC-SF-32R2: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-BE-UC-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/sof"
|
||||
// CHECK-BE-UC-SF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
|
||||
// CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
|
||||
// CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib{{/|\\\\}}crti.o"
|
||||
// CHECK-BE-UC-SF-32R2: "[[TC]]/uclibc/sof{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-BE-UC-SF-32R2: "-L[[TC]]/uclibc/sof"
|
||||
// CHECK-BE-UC-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/sof"
|
||||
// CHECK-BE-UC-SF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib"
|
||||
// CHECK-BE-UC-SF-32R2: "[[TC]]/uclibc/sof{{/|\\\\}}crtend.o"
|
||||
// CHECK-BE-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Big-endian, mips32r2 / mips16, hard float
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mips-linux-gnu -mips32r2 -mips16 -mhard-float \
|
||||
|
@ -513,6 +567,33 @@
|
|||
// CHECK-BE-NAN-32R2: "[[TC]]/nan2008{{/|\\\\}}crtend.o"
|
||||
// CHECK-BE-NAN-32R2: "[[TC]]/../../../../sysroot/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Big-endian, mips32r2, nan2008, uclibc
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mips-linux-gnu -mips32r2 -mnan=2008 -muclibc \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-BE-UC-NAN-32R2 %s
|
||||
// CHECK-BE-UC-NAN-32R2: "-internal-isystem"
|
||||
// CHECK-BE-UC-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
|
||||
// CHECK-BE-UC-NAN-32R2: "-internal-isystem"
|
||||
// CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/nan2008"
|
||||
// CHECK-BE-UC-NAN-32R2: "-internal-isystem"
|
||||
// CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
|
||||
// CHECK-BE-UC-NAN-32R2: "-internal-externc-isystem"
|
||||
// CHECK-BE-UC-NAN-32R2: "[[TC]]/include"
|
||||
// CHECK-BE-UC-NAN-32R2: "-internal-externc-isystem"
|
||||
// CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
|
||||
// CHECK-BE-UC-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-BE-UC-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/nan2008"
|
||||
// CHECK-BE-UC-NAN-32R2: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0"
|
||||
// CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
|
||||
// CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
|
||||
// CHECK-BE-UC-NAN-32R2: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-BE-UC-NAN-32R2: "-L[[TC]]/uclibc/nan2008"
|
||||
// CHECK-BE-UC-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/nan2008"
|
||||
// CHECK-BE-UC-NAN-32R2: "-L[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib"
|
||||
// CHECK-BE-UC-NAN-32R2: "[[TC]]/uclibc/nan2008{{/|\\\\}}crtend.o"
|
||||
// CHECK-BE-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Big-endian, mips32r2, fp64, nan2008
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mips-linux-gnu -mips32r2 -mfp64 -mnan=2008 \
|
||||
|
@ -1566,6 +1647,33 @@
|
|||
// CHECK-EL-HF-32R2: "[[TC]]/el{{/|\\\\}}crtend.o"
|
||||
// CHECK-EL-HF-32R2: "[[TC]]/../../../../sysroot/el/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Little-endian, mips32r2, hard float, uclibc
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mipsel-linux-gnu -mips32r2 -mhard-float -muclibc \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-EL-UC-HF-32R2 %s
|
||||
// CHECK-EL-UC-HF-32R2: "-internal-isystem"
|
||||
// CHECK-EL-UC-HF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
|
||||
// CHECK-EL-UC-HF-32R2: "-internal-isystem"
|
||||
// CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el"
|
||||
// CHECK-EL-UC-HF-32R2: "-internal-isystem"
|
||||
// CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
|
||||
// CHECK-EL-UC-HF-32R2: "-internal-externc-isystem"
|
||||
// CHECK-EL-UC-HF-32R2: "[[TC]]/include"
|
||||
// CHECK-EL-UC-HF-32R2: "-internal-externc-isystem"
|
||||
// CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
|
||||
// CHECK-EL-UC-HF-32R2: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-EL-UC-HF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/el"
|
||||
// CHECK-EL-UC-HF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
|
||||
// CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib{{/|\\\\}}crt1.o"
|
||||
// CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib{{/|\\\\}}crti.o"
|
||||
// CHECK-EL-UC-HF-32R2: "[[TC]]/uclibc/el{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-EL-UC-HF-32R2: "-L[[TC]]/uclibc/el"
|
||||
// CHECK-EL-UC-HF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/el"
|
||||
// CHECK-EL-UC-HF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib"
|
||||
// CHECK-EL-UC-HF-32R2: "[[TC]]/uclibc/el{{/|\\\\}}crtend.o"
|
||||
// CHECK-EL-UC-HF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Little-endian, mips32r2, fp64, hard float
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mipsel-linux-gnu -mips32r2 -mfp64 -mhard-float \
|
||||
|
@ -1620,6 +1728,33 @@
|
|||
// CHECK-EL-SF-32R2: "[[TC]]/el/sof{{/|\\\\}}crtend.o"
|
||||
// CHECK-EL-SF-32R2: "[[TC]]/../../../../sysroot/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Little-endian, mips32r2, soft float, uclibc
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mipsel-linux-gnu -mips32r2 -msoft-float -muclibc \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-EL-UC-SF-32R2 %s
|
||||
// CHECK-EL-UC-SF-32R2: "-internal-isystem"
|
||||
// CHECK-EL-UC-SF-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
|
||||
// CHECK-EL-UC-SF-32R2: "-internal-isystem"
|
||||
// CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el/sof"
|
||||
// CHECK-EL-UC-SF-32R2: "-internal-isystem"
|
||||
// CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
|
||||
// CHECK-EL-UC-SF-32R2: "-internal-externc-isystem"
|
||||
// CHECK-EL-UC-SF-32R2: "[[TC]]/include"
|
||||
// CHECK-EL-UC-SF-32R2: "-internal-externc-isystem"
|
||||
// CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
|
||||
// CHECK-EL-UC-SF-32R2: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-EL-UC-SF-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/el/sof"
|
||||
// CHECK-EL-UC-SF-32R2: "-dynamic-linker" "/lib/ld-uClibc.so.0"
|
||||
// CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib{{/|\\\\}}crt1.o"
|
||||
// CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib{{/|\\\\}}crti.o"
|
||||
// CHECK-EL-UC-SF-32R2: "[[TC]]/uclibc/el/sof{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-EL-UC-SF-32R2: "-L[[TC]]/uclibc/el/sof"
|
||||
// CHECK-EL-UC-SF-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/el/sof"
|
||||
// CHECK-EL-UC-SF-32R2: "-L[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib"
|
||||
// CHECK-EL-UC-SF-32R2: "[[TC]]/uclibc/el/sof{{/|\\\\}}crtend.o"
|
||||
// CHECK-EL-UC-SF-32R2: "[[TC]]/../../../../sysroot/uclibc/el/sof/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Little-endian, mips32r2 / mips16, hard float
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mipsel-linux-gnu -mips32r2 -mips16 -mhard-float \
|
||||
|
@ -1782,6 +1917,33 @@
|
|||
// CHECK-EL-NAN-32R2: "[[TC]]/el/nan2008{{/|\\\\}}crtend.o"
|
||||
// CHECK-EL-NAN-32R2: "[[TC]]/../../../../sysroot/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Little-endian, mips32r2, nan2008, uclibc
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mipsel-linux-gnu -mips32r2 -mnan=2008 -muclibc \
|
||||
// RUN: --gcc-toolchain=%S/Inputs/mips_fsf_tree \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-EL-UC-NAN-32R2 %s
|
||||
// CHECK-EL-UC-NAN-32R2: "-internal-isystem"
|
||||
// CHECK-EL-UC-NAN-32R2: "[[TC:[^"]+/lib/gcc/mips-mti-linux-gnu/4.9.0]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0"
|
||||
// CHECK-EL-UC-NAN-32R2: "-internal-isystem"
|
||||
// CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el/nan2008"
|
||||
// CHECK-EL-UC-NAN-32R2: "-internal-isystem"
|
||||
// CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../mips-mti-linux-gnu/include/c++/4.9.0/backward"
|
||||
// CHECK-EL-UC-NAN-32R2: "-internal-externc-isystem"
|
||||
// CHECK-EL-UC-NAN-32R2: "[[TC]]/include"
|
||||
// CHECK-EL-UC-NAN-32R2: "-internal-externc-isystem"
|
||||
// CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/usr/include"
|
||||
// CHECK-EL-UC-NAN-32R2: "{{.*}}ld{{(.exe)?}}"
|
||||
// CHECK-EL-UC-NAN-32R2: "--sysroot=[[TC]]/../../../../sysroot/uclibc/el/nan2008"
|
||||
// CHECK-EL-UC-NAN-32R2: "-dynamic-linker" "/lib/ld-uClibc-mipsn8.so.0"
|
||||
// CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib{{/|\\\\}}crt1.o"
|
||||
// CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib{{/|\\\\}}crti.o"
|
||||
// CHECK-EL-UC-NAN-32R2: "[[TC]]/uclibc/el/nan2008{{/|\\\\}}crtbegin.o"
|
||||
// CHECK-EL-UC-NAN-32R2: "-L[[TC]]/uclibc/el/nan2008"
|
||||
// CHECK-EL-UC-NAN-32R2: "-L[[TC]]/../../../../mips-mti-linux-gnu/lib/../lib/uclibc/el/nan2008"
|
||||
// CHECK-EL-UC-NAN-32R2: "-L[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib"
|
||||
// CHECK-EL-UC-NAN-32R2: "[[TC]]/uclibc/el/nan2008{{/|\\\\}}crtend.o"
|
||||
// CHECK-EL-UC-NAN-32R2: "[[TC]]/../../../../sysroot/uclibc/el/nan2008/usr/lib/../lib{{/|\\\\}}crtn.o"
|
||||
//
|
||||
// = Little-endian, mips32r2, fp64, nan2008
|
||||
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
|
||||
// RUN: --target=mipsel-linux-gnu -mips32r2 -mfp64 -mnan=2008 \
|
||||
|
|
Loading…
Reference in New Issue