|
@@ -158,6 +158,9 @@ StringRef MachO::getMachOArchName(const ArgList &Args) const {
|
|
|
default:
|
|
|
return getArchName();
|
|
|
|
|
|
+ case llvm::Triple::aarch64:
|
|
|
+ return "arm64";
|
|
|
+
|
|
|
case llvm::Triple::thumb:
|
|
|
case llvm::Triple::arm: {
|
|
|
if (const Arg *A = Args.getLastArg(options::OPT_march_EQ))
|
|
@@ -396,8 +399,7 @@ void DarwinClang::AddLinkRuntimeLibArgs(const ArgList &Args,
|
|
|
// it never went into the SDK.
|
|
|
// Linking against libgcc_s.1 isn't needed for iOS 5.0+
|
|
|
if (isIPhoneOSVersionLT(5, 0) && !isTargetIOSSimulator() &&
|
|
|
- (getTriple().getArch() != llvm::Triple::arm64 &&
|
|
|
- getTriple().getArch() != llvm::Triple::aarch64))
|
|
|
+ getTriple().getArch() != llvm::Triple::aarch64)
|
|
|
CmdArgs.push_back("-lgcc_s.1");
|
|
|
|
|
|
// We currently always need a static runtime library for iOS.
|
|
@@ -516,7 +518,6 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const {
|
|
|
// default platform.
|
|
|
if (!OSXTarget.empty() && !iOSTarget.empty()) {
|
|
|
if (getTriple().getArch() == llvm::Triple::arm ||
|
|
|
- getTriple().getArch() == llvm::Triple::arm64 ||
|
|
|
getTriple().getArch() == llvm::Triple::aarch64 ||
|
|
|
getTriple().getArch() == llvm::Triple::thumb)
|
|
|
OSXTarget = "";
|
|
@@ -653,7 +654,6 @@ void DarwinClang::AddCCKextLibArgs(const ArgList &Args,
|
|
|
|
|
|
// Use the newer cc_kext for iOS ARM after 6.0.
|
|
|
if (!isTargetIPhoneOS() || isTargetIOSSimulator() ||
|
|
|
- getTriple().getArch() == llvm::Triple::arm64 ||
|
|
|
getTriple().getArch() == llvm::Triple::aarch64 ||
|
|
|
!isIPhoneOSVersionLT(6, 0)) {
|
|
|
llvm::sys::path::append(P, "libclang_rt.cc_kext.a");
|
|
@@ -920,7 +920,6 @@ DerivedArgList *Darwin::TranslateArgs(const DerivedArgList &Args,
|
|
|
// but we can't check the deployment target in the translation code until
|
|
|
// it is set here.
|
|
|
if (isTargetIOSBased() && !isIPhoneOSVersionLT(6, 0) &&
|
|
|
- getTriple().getArch() != llvm::Triple::arm64 &&
|
|
|
getTriple().getArch() != llvm::Triple::aarch64) {
|
|
|
for (ArgList::iterator it = DAL->begin(), ie = DAL->end(); it != ie; ) {
|
|
|
Arg *A = *it;
|
|
@@ -988,7 +987,6 @@ bool MachO::isPIEDefault() const {
|
|
|
|
|
|
bool MachO::isPICDefaultForced() const {
|
|
|
return (getArch() == llvm::Triple::x86_64 ||
|
|
|
- getArch() == llvm::Triple::arm64 ||
|
|
|
getArch() == llvm::Triple::aarch64);
|
|
|
}
|
|
|
|
|
@@ -1078,8 +1076,7 @@ void Darwin::addStartObjectFileArgs(const llvm::opt::ArgList &Args,
|
|
|
if (isTargetIOSSimulator()) {
|
|
|
; // iOS simulator does not need crt1.o.
|
|
|
} else if (isTargetIPhoneOS()) {
|
|
|
- if (getArch() == llvm::Triple::arm64 ||
|
|
|
- getArch() == llvm::Triple::aarch64)
|
|
|
+ if (getArch() == llvm::Triple::aarch64)
|
|
|
; // iOS does not need any crt1 files for arm64
|
|
|
else if (isIPhoneOSVersionLT(3, 1))
|
|
|
CmdArgs.push_back("-lcrt1.o");
|
|
@@ -1398,7 +1395,6 @@ bool Generic_GCC::GCCInstallationDetector::getBiarchSibling(Multilib &M) const {
|
|
|
};
|
|
|
|
|
|
switch (TargetTriple.getArch()) {
|
|
|
- case llvm::Triple::arm64:
|
|
|
case llvm::Triple::aarch64:
|
|
|
LibDirs.append(AArch64LibDirs,
|
|
|
AArch64LibDirs + llvm::array_lengthof(AArch64LibDirs));
|
|
@@ -1409,7 +1405,6 @@ bool Generic_GCC::GCCInstallationDetector::getBiarchSibling(Multilib &M) const {
|
|
|
BiarchTripleAliases.append(
|
|
|
AArch64Triples, AArch64Triples + llvm::array_lengthof(AArch64Triples));
|
|
|
break;
|
|
|
- case llvm::Triple::arm64_be:
|
|
|
case llvm::Triple::aarch64_be:
|
|
|
LibDirs.append(AArch64beLibDirs,
|
|
|
AArch64beLibDirs + llvm::array_lengthof(AArch64beLibDirs));
|
|
@@ -2174,8 +2169,6 @@ bool Generic_GCC::IsIntegratedAssemblerDefault() const {
|
|
|
getTriple().getArch() == llvm::Triple::x86_64 ||
|
|
|
getTriple().getArch() == llvm::Triple::aarch64 ||
|
|
|
getTriple().getArch() == llvm::Triple::aarch64_be ||
|
|
|
- getTriple().getArch() == llvm::Triple::arm64 ||
|
|
|
- getTriple().getArch() == llvm::Triple::arm64_be ||
|
|
|
getTriple().getArch() == llvm::Triple::arm ||
|
|
|
getTriple().getArch() == llvm::Triple::armeb ||
|
|
|
getTriple().getArch() == llvm::Triple::thumb ||
|
|
@@ -2188,8 +2181,6 @@ void Generic_ELF::addClangTargetOptions(const ArgList &DriverArgs,
|
|
|
bool UseInitArrayDefault =
|
|
|
getTriple().getArch() == llvm::Triple::aarch64 ||
|
|
|
getTriple().getArch() == llvm::Triple::aarch64_be ||
|
|
|
- getTriple().getArch() == llvm::Triple::arm64 ||
|
|
|
- getTriple().getArch() == llvm::Triple::arm64_be ||
|
|
|
(getTriple().getOS() == llvm::Triple::Linux &&
|
|
|
(!V.isOlderThan(4, 7, 0) ||
|
|
|
getTriple().getEnvironment() == llvm::Triple::Android));
|
|
@@ -2954,12 +2945,10 @@ static std::string getMultiarchTriple(const llvm::Triple &TargetTriple,
|
|
|
llvm::sys::fs::exists(SysRoot + "/lib/x86_64-linux-gnu"))
|
|
|
return "x86_64-linux-gnu";
|
|
|
return TargetTriple.str();
|
|
|
- case llvm::Triple::arm64:
|
|
|
case llvm::Triple::aarch64:
|
|
|
if (llvm::sys::fs::exists(SysRoot + "/lib/aarch64-linux-gnu"))
|
|
|
return "aarch64-linux-gnu";
|
|
|
return TargetTriple.str();
|
|
|
- case llvm::Triple::arm64_be:
|
|
|
case llvm::Triple::aarch64_be:
|
|
|
if (llvm::sys::fs::exists(SysRoot + "/lib/aarch64_be-linux-gnu"))
|
|
|
return "aarch64_be-linux-gnu";
|
|
@@ -3359,9 +3348,7 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
|
|
|
} else if (getTriple().getArch() == llvm::Triple::x86) {
|
|
|
MultiarchIncludeDirs = X86MultiarchIncludeDirs;
|
|
|
} else if (getTriple().getArch() == llvm::Triple::aarch64 ||
|
|
|
- getTriple().getArch() == llvm::Triple::aarch64_be ||
|
|
|
- getTriple().getArch() == llvm::Triple::arm64 ||
|
|
|
- getTriple().getArch() == llvm::Triple::arm64_be) {
|
|
|
+ getTriple().getArch() == llvm::Triple::aarch64_be) {
|
|
|
MultiarchIncludeDirs = AArch64MultiarchIncludeDirs;
|
|
|
} else if (getTriple().getArch() == llvm::Triple::arm) {
|
|
|
if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
|