summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2013-07-21 10:02:41 +0000
committerMichał Górny <mgorny@gentoo.org>2013-07-21 10:02:41 +0000
commit9f0b04e3ad4f5f06f66a313e1d1e78020672c4d8 (patch)
treeeec74efe6bfe029f180c6700480289c4b26f7cb2 /sys-devel
parentCleanup due http://gentoo.2317880.n4.nabble.com/sgml-herd-has-no-maintainers-... (diff)
downloadgentoo-2-9f0b04e3ad4f5f06f66a313e1d1e78020672c4d8.tar.gz
gentoo-2-9f0b04e3ad4f5f06f66a313e1d1e78020672c4d8.tar.bz2
gentoo-2-9f0b04e3ad4f5f06f66a313e1d1e78020672c4d8.zip
Add missing clang patch.
(Portage version: 2.2.0_alpha188/cvs/Linux x86_64, signed Manifest commit with key 9627F456F9DA7643!)
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/llvm/ChangeLog6
-rw-r--r--sys-devel/llvm/files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch29
2 files changed, 34 insertions, 1 deletions
diff --git a/sys-devel/llvm/ChangeLog b/sys-devel/llvm/ChangeLog
index 78c541799320..4e384ee76aae 100644
--- a/sys-devel/llvm/ChangeLog
+++ b/sys-devel/llvm/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for sys-devel/llvm
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.116 2013/07/21 10:00:50 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/llvm/ChangeLog,v 1.117 2013/07/21 10:02:41 mgorny Exp $
+
+ 21 Jul 2013; Michał Górny <mgorny@gentoo.org>
+ +files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch:
+ Add missing clang patch.
*llvm-9999-r1 (21 Jul 2013)
*llvm-3.3-r1 (21 Jul 2013)
diff --git a/sys-devel/llvm/files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch b/sys-devel/llvm/files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch
new file mode 100644
index 000000000000..49f108533404
--- /dev/null
+++ b/sys-devel/llvm/files/clang-3.1-gentoo-runtime-gcc-detection-v3.patch
@@ -0,0 +1,29 @@
+diff -upNr a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp
+--- a/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-24 03:32:31.593191000 -0400
++++ b/llvm-3.1.src/tools/clang/lib/Driver/ToolChains.cpp 2012-05-24 03:38:31.733163513 -0400
+@@ -1145,6 +1145,25 @@ Generic_GCC::GCCInstallationDetector::GC
+ Prefixes.push_back(D.InstalledDir + "/..");
+ }
+
++ llvm::OwningPtr<llvm::MemoryBuffer> File;
++ for (unsigned k = 0, ke = CandidateTripleAliases.size(); k < ke; ++k) {
++ if (!llvm::MemoryBuffer::getFile(D.SysRoot + "/etc/env.d/gcc/config-" + CandidateTripleAliases[k].str(), File))
++ {
++ bool Exists;
++ const std::string VersionText = File.get()->getBuffer().rsplit('-').second.substr(0,5).str();
++ const std::string GentooPath = D.SysRoot + "/usr/lib/gcc/" + CandidateTripleAliases[k].str() + "/" + VersionText;
++ if (!llvm::sys::fs::exists(GentooPath + "/crtbegin.o", Exists) && Exists)
++ {
++ Version = GCCVersion::Parse(VersionText);
++ GCCInstallPath = GentooPath;
++ GCCParentLibPath = GCCInstallPath + "/../../..";
++ GCCTriple.setTriple(CandidateTripleAliases[k]);
++ IsValid = true;
++ return;
++ }
++ }
++ }
++
+ // Loop over the various components which exist and select the best GCC
+ // installation available. GCC installs are ranked by version number.
+ Version = GCCVersion::Parse("0.0.0");