aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorOliver Stannard <oliver.stannard@arm.com>2014-09-04 10:38:53 +0000
committerOliver Stannard <oliver.stannard@arm.com>2014-09-04 10:38:53 +0000
commitec8b6b32b80b23933270ef8b63c6242c68b98bc2 (patch)
tree4512b40eeae399d2446cc2d61da52d6a9004dc40 /clang/lib/Driver/Tools.cpp
parentbb91e02efd00eda04296069a83228c8d9db105b7 (diff)
downloadllvm-ec8b6b32b80b23933270ef8b63c6242c68b98bc2.zip
llvm-ec8b6b32b80b23933270ef8b63c6242c68b98bc2.tar.gz
llvm-ec8b6b32b80b23933270ef8b63c6242c68b98bc2.tar.bz2
ARM: Default to apcs-gnu ABI for NetBSD
r216662 changed the default ABI for 32-bit ARM targets to be "aapcs" when no environment is given in the triple, however NetBSD requires it to be "apcs-gnu". llvm-svn: 217141
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index df2f9cf..2f14830 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -755,9 +755,14 @@ void Clang::AddARMTargetArgs(const ArgList &Args,
break;
case llvm::Triple::EABIHF:
case llvm::Triple::EABI:
- default:
ABIName = "aapcs";
break;
+ default:
+ if (Triple.getOS() == llvm::Triple::NetBSD)
+ ABIName = "apcs-gnu";
+ else
+ ABIName = "aapcs";
+ break;
}
}
CmdArgs.push_back("-target-abi");