[packages/llvm] - fix gcc toolchain paths on x32/x8664/ix86 - rel 1
baggins
baggins at pld-linux.org
Sun Jul 26 22:55:12 CEST 2015
commit d215fb082e33a3b34e3b015a1269ebc2e748454f
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Sun Jul 26 22:54:50 2015 +0200
- fix gcc toolchain paths on x32/x8664/ix86
- rel 1
llvm.spec | 4 +++-
x32-gcc-toolchain.patch | 38 ++++++++++++++++++++++++++++++++++++++
2 files changed, 41 insertions(+), 1 deletion(-)
---
diff --git a/llvm.spec b/llvm.spec
index cc766dd..9fe4c60 100644
--- a/llvm.spec
+++ b/llvm.spec
@@ -17,7 +17,7 @@ Summary: The Low Level Virtual Machine (An Optimizing Compiler Infrastructure)
Summary(pl.UTF-8): Niskopoziomowa maszyna wirtualna (infrastruktura kompilatora optymalizującego)
Name: llvm
Version: 3.6.2
-Release: 0.1
+Release: 1
License: University of Illinois/NCSA Open Source License
Group: Development/Languages
#Source0Download: http://llvm.org/releases/download.html
@@ -43,6 +43,7 @@ Patch3: %{name}-use-ocamlfind-for-ocamldoc.patch
Patch4: %{name}-lldb.patch
Patch5: %{name}-lldb-atomic.patch
Patch6: %{name}-lld-link.patch
+Patch7: x32-gcc-toolchain.patch
URL: http://llvm.org/
BuildRequires: autoconf >= 2.60
BuildRequires: automake >= 1:1.9.6
@@ -432,6 +433,7 @@ mv lld-%{version}.src tools/lld
%endif
%endif
%patch6 -p1
+%patch7 -p1
# configure does not properly specify libdir
%{__sed} -i 's|(PROJ_prefix)/lib|(PROJ_prefix)/%{_lib}|g' Makefile.config.in
diff --git a/x32-gcc-toolchain.patch b/x32-gcc-toolchain.patch
new file mode 100644
index 0000000..3992875
--- /dev/null
+++ b/x32-gcc-toolchain.patch
@@ -0,0 +1,38 @@
+--- llvm-3.6.2.src/tools/clang/lib/Driver/ToolChains.cpp~ 2015-07-26 12:48:18.000000000 +0200
++++ llvm-3.6.2.src/tools/clang/lib/Driver/ToolChains.cpp 2015-07-26 17:44:56.883613971 +0200
+@@ -1312,6 +1312,10 @@
+ "x86_64-linux-android", "x86_64-unknown-linux"
+ };
+ static const char *const X32LibDirs[] = { "/libx32" };
++ static const char *const X32Triples[] = {
++ "x86_64-pld-linux-gnux32", "amd64-pld-linux-gnux32",
++ "x86_64-linux-gnux32", "x86_64-unknown-linux-gnux32", "x86_64-pc-linux-gnux32"
++ };
+ static const char *const X86LibDirs[] = { "/lib32", "/lib" };
+ static const char *const X86Triples[] = {
+ "i686-pld-linux", "i586-pld-linux", "i486-pld-linux", "i386-pld-linux", "athlon-pld-linux",
+@@ -1407,15 +1407,19 @@
+ }
+ break;
+ case llvm::Triple::x86_64:
+- LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
+- TripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
+- // x32 is always available when x86_64 is available, so adding it as
+- // secondary arch with x86_64 triples
+ if (TargetTriple.getEnvironment() == llvm::Triple::GNUX32) {
+- BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
++ LibDirs.append(begin(X32LibDirs), end(X32LibDirs));
++ TripleAliases.append(begin(X32Triples), end(X32Triples));
++ BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
++ BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
+ BiarchTripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
++ BiarchTripleAliases.append(begin(X86Triples), end(X86Triples));
+ } else {
++ LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
++ TripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
++ BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
+ BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
++ BiarchTripleAliases.append(begin(X32Triples), end(X32Triples));
+ BiarchTripleAliases.append(begin(X86Triples), end(X86Triples));
+ }
+ break;
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/llvm.git/commitdiff/d215fb082e33a3b34e3b015a1269ebc2e748454f
More information about the pld-cvs-commit
mailing list