freebsd-dev/contrib/llvm/patches/patch-r269387-clang-arm-target-cpu.diff
Dimitry Andric 819c857f10 Add a few missing llvm/clang patches, update the other ones to be able
to apply with the same patch options onto a fresh upstream llvm/clang
3.4.1 checkout, and use approximately the same header tempate for them.

MFC after:	3 days
2014-09-21 15:37:39 +00:00

35 lines
1.3 KiB
Diff

Update the ARMv6 core clang targets to be an arm1176jzf-s. This brings us
in line with gcc in base as this makes llvm generate code for the armv6k
variant of the instruction set.
Introduced here: http://svnweb.freebsd.org/changeset/base/269387
Index: tools/clang/lib/Driver/ToolChain.cpp
===================================================================
--- tools/clang/lib/Driver/ToolChain.cpp (revision 269386)
+++ tools/clang/lib/Driver/ToolChain.cpp (revision 269387)
@@ -183,7 +183,8 @@ static const char *getARMTargetCPU(const ArgList &
MArch = Triple.getArchName();
}
- if (Triple.getOS() == llvm::Triple::NetBSD) {
+ if (Triple.getOS() == llvm::Triple::NetBSD ||
+ Triple.getOS() == llvm::Triple::FreeBSD) {
if (MArch == "armv6")
return "arm1176jzf-s";
}
Index: tools/clang/lib/Driver/Tools.cpp
===================================================================
--- tools/clang/lib/Driver/Tools.cpp (revision 269386)
+++ tools/clang/lib/Driver/Tools.cpp (revision 269387)
@@ -499,7 +499,8 @@ static std::string getARMTargetCPU(const ArgList &
MArch = Triple.getArchName();
}
- if (Triple.getOS() == llvm::Triple::NetBSD) {
+ if (Triple.getOS() == llvm::Triple::NetBSD ||
+ Triple.getOS() == llvm::Triple::FreeBSD) {
if (MArch == "armv6")
return "arm1176jzf-s";
}