[arch-commits] Commit in llvm/trunk (5 files)

2018-03-14 Thread Evangelos Foutras via arch-commits
Date: Thursday, March 15, 2018 @ 01:49:39
  Author: foutrelis
Revision: 319149

upgpkg: llvm 6.0.0-3

- Fix the llvm_config CMake macro to work with LLVM_LINK_LLVM_DYLIB=ON
- Add upstream patches for PR36417 (compile time regression with large
  amounts of debuginfo)

Added:
  llvm/trunk/D44391-export-LLVM_DYLIB_COMPONENTS-in-LLVMConfig.cmake.patch
  llvm/trunk/D44420-cmake-fix-a-typo-in-llvm_config-macro.patch
  llvm/trunk/PR36417-DebugInfo-discard-invalid-DBG_VALUE-instructions.patch
  llvm/trunk/PR36417-fixup-for-rL326769-RegState-Debug-is-being-truncated.patch
Modified:
  llvm/trunk/PKGBUILD

+
 D44391-export-LLVM_DYLIB_COMPONENTS-in-LLVMConfig.cmake.patch  |   36 +
 D44420-cmake-fix-a-typo-in-llvm_config-macro.patch |   13 
 PKGBUILD   |   20 
 PR36417-DebugInfo-discard-invalid-DBG_VALUE-instructions.patch |  262 
++
 PR36417-fixup-for-rL326769-RegState-Debug-is-being-truncated.patch |   34 +
 5 files changed, 364 insertions(+), 1 deletion(-)

Added: D44391-export-LLVM_DYLIB_COMPONENTS-in-LLVMConfig.cmake.patch
===
--- D44391-export-LLVM_DYLIB_COMPONENTS-in-LLVMConfig.cmake.patch   
(rev 0)
+++ D44391-export-LLVM_DYLIB_COMPONENTS-in-LLVMConfig.cmake.patch   
2018-03-15 01:49:39 UTC (rev 319149)
@@ -0,0 +1,36 @@
+From 4d613a84ce271c6225068bef67d727ae02b2e3b1 Mon Sep 17 00:00:00 2001
+From: Pavel Labath 
+Date: Wed, 14 Mar 2018 09:28:38 +
+Subject: [PATCH] Export LLVM_DYLIB_COMPONENTS in LLVMConfig.cmake
+
+Summary:
+This is needed so that external projects (e.g. a standalone build of
+lldb) can link to the LLVM shared library via the USE_SHARED argument of
+llvm_config. Without this, llvm_config would add LLVM to the link list,
+but then also add the constituent static libraries, resulting in
+multiply defined symbols.
+
+Reviewers: beanz, mgorny
+
+Subscribers: llvm-commits
+
+Differential Revision: https://reviews.llvm.org/D44391
+
+git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327484 
91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ cmake/modules/LLVMConfig.cmake.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/cmake/modules/LLVMConfig.cmake.in 
b/cmake/modules/LLVMConfig.cmake.in
+index fe4df5278498..e70018679846 100644
+--- a/cmake/modules/LLVMConfig.cmake.in
 b/cmake/modules/LLVMConfig.cmake.in
+@@ -13,6 +13,8 @@ set(LLVM_COMMON_DEPENDS @LLVM_COMMON_DEPENDS@)
+ 
+ set(LLVM_AVAILABLE_LIBS @LLVM_AVAILABLE_LIBS@)
+ 
++set(LLVM_DYLIB_COMPONENTS @LLVM_DYLIB_COMPONENTS@)
++
+ set(LLVM_ALL_TARGETS @LLVM_ALL_TARGETS@)
+ 
+ set(LLVM_TARGETS_TO_BUILD @LLVM_TARGETS_TO_BUILD@)

Added: D44420-cmake-fix-a-typo-in-llvm_config-macro.patch
===
--- D44420-cmake-fix-a-typo-in-llvm_config-macro.patch  
(rev 0)
+++ D44420-cmake-fix-a-typo-in-llvm_config-macro.patch  2018-03-15 01:49:39 UTC 
(rev 319149)
@@ -0,0 +1,13 @@
+Index: cmake/modules/LLVM-Config.cmake
+===
+--- cmake/modules/LLVM-Config.cmake
 cmake/modules/LLVM-Config.cmake
+@@ -68,7 +68,7 @@
+   cmake_parse_arguments(ARG "USE_SHARED" "" "" ${ARGN})
+   set(link_components ${ARG_UNPARSED_ARGUMENTS})
+ 
+-  if(USE_SHARED)
++  if(ARG_USE_SHARED)
+ # If USE_SHARED is specified, then we link against libLLVM,
+ # but also against the component libraries below. This is
+ # done in case libLLVM does not contain all of the components

Modified: PKGBUILD
===
--- PKGBUILD2018-03-15 00:56:14 UTC (rev 319148)
+++ PKGBUILD2018-03-15 01:49:39 UTC (rev 319149)
@@ -4,7 +4,7 @@
 
 pkgname=('llvm' 'llvm-libs' 'llvm-ocaml')
 pkgver=6.0.0
-pkgrel=2
+pkgrel=3
 _ocaml_ver=4.06.0
 arch=('x86_64')
 url="https://llvm.org/;
@@ -13,9 +13,17 @@
  "ocaml=$_ocaml_ver" 'ocaml-ctypes' 'ocaml-findlib')
 options=('staticlibs')
 source=(https://releases.llvm.org/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
+PR36417-DebugInfo-discard-invalid-DBG_VALUE-instructions.patch
+PR36417-fixup-for-rL326769-RegState-Debug-is-being-truncated.patch
+D44391-export-LLVM_DYLIB_COMPONENTS-in-LLVMConfig.cmake.patch
+D44420-cmake-fix-a-typo-in-llvm_config-macro.patch
 llvm-config.h)
 sha256sums=('1ff53c915b4e761ef400b803f07261ade637b0c269d99569f18040f3dcee4408'
 'SKIP'
+'5a90833c15c4981e7accd405290491d7930f991d30943d7ae9e4e338149731ff'
+'da80b59c9abe9fe864ff8dc42132c5aa135a79d342fd147ae6f54e2621e009fa'
+'96e2f3ca8b7d1bdbe2606a1eebb12c57b39838d1bcc15e40388e8d59649a9f4a'
+'5cc114fd711e6ea836a6270b2f713e2e751c49e8b5ffa6c6812127ca801acef3'
 

[arch-commits] Commit in llvm/trunk (5 files)

2017-09-07 Thread Evangelos Foutras
Date: Friday, September 8, 2017 @ 03:34:56
  Author: foutrelis
Revision: 305023

upgpkg: llvm 5.0.0-1

New upstream release.

Modified:
  llvm/trunk/0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch
  llvm/trunk/0002-Enable-SSP-and-PIE-by-default.patch
  llvm/trunk/PKGBUILD
Deleted:
  llvm/trunk/lldb-gcc7.patch
  llvm/trunk/lldb-libedit.patch

--+
 0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch |   10 -
 0002-Enable-SSP-and-PIE-by-default.patch |   76 ++---
 PKGBUILD |   29 ++---
 lldb-gcc7.patch  |   12 --
 lldb-libedit.patch   |   98 -
 5 files changed, 55 insertions(+), 170 deletions(-)

Modified: 0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch
===
--- 0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch2017-09-07 
22:20:13 UTC (rev 305022)
+++ 0001-GCC-compatibility-Ignore-the-fno-plt-flag.patch2017-09-08 
03:34:56 UTC (rev 305023)
@@ -1,4 +1,4 @@
-From ea7d4d81905ff99c5c04388909f501b1da451b79 Mon Sep 17 00:00:00 2001
+From fedcf1d9691bf669d8cd771a032e851d8247aff9 Mon Sep 17 00:00:00 2001
 From: Evangelos Foutras 
 Date: Thu, 6 Jul 2017 18:53:05 +0300
 Subject: [PATCH 1/2] GCC compatibility: Ignore the -fno-plt flag
@@ -9,10 +9,10 @@
  2 files changed, 2 insertions(+)
 
 diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td
-index 6be159fad6..364296e861 100644
+index 05dc9d7eb3..c93e6cc08c 100644
 --- a/include/clang/Driver/Options.td
 +++ b/include/clang/Driver/Options.td
-@@ -2277,6 +2277,7 @@ defm ivopts : BooleanFFlag<"ivopts">, 
Group, 
Group, 
Group;
  defm peel_loops : BooleanFFlag<"peel-loops">, 
Group;
  defm permissive : BooleanFFlag<"permissive">, Group;
@@ -21,7 +21,7 @@
  defm printf : BooleanFFlag<"printf">, Group;
  defm profile : BooleanFFlag<"profile">, Group;
 diff --git a/test/Driver/clang_f_opts.c b/test/Driver/clang_f_opts.c
-index 210e16935d..3999590c47 100644
+index c17cec6eba..d9480c915e 100644
 --- a/test/Driver/clang_f_opts.c
 +++ b/test/Driver/clang_f_opts.c
 @@ -277,6 +277,7 @@
@@ -33,5 +33,5 @@
  // RUN: -fno-check-new -fcheck-new
\
  // RUN: -ffriend-injection
\
 -- 
-2.13.2
+2.14.1
 

Modified: 0002-Enable-SSP-and-PIE-by-default.patch
===
--- 0002-Enable-SSP-and-PIE-by-default.patch2017-09-07 22:20:13 UTC (rev 
305022)
+++ 0002-Enable-SSP-and-PIE-by-default.patch2017-09-08 03:34:56 UTC (rev 
305023)
@@ -1,4 +1,4 @@
-From 7c483b3a7b2d87ae1d0dde1e5c12fa2bdb22d681 Mon Sep 17 00:00:00 2001
+From 60fa751da239e592b31bde2533342dac64359e7f Mon Sep 17 00:00:00 2001
 From: Evangelos Foutras 
 Date: Thu, 6 Jul 2017 18:15:43 +0300
 Subject: [PATCH 2/2] Enable SSP and PIE by default
@@ -17,9 +17,9 @@
 Hopefully these changes will be obsoleted by the introduction upstream
 of a compile-time option (https://bugs.llvm.org/show_bug.cgi?id=13410)
 ---
- lib/Driver/ToolChains.cpp   | 14 +-
- lib/Driver/ToolChains.h |  1 +
- lib/Driver/Tools.cpp|  1 +
+ lib/Driver/ToolChains/Gnu.cpp   |  1 +
+ lib/Driver/ToolChains/Linux.cpp | 14 +-
+ lib/Driver/ToolChains/Linux.h   |  1 +
  test/Driver/cross-linux.c   | 16 
  test/Driver/env.c   |  2 +-
  test/Driver/fsanitize.c | 18 ++
@@ -30,17 +30,29 @@
  test/Driver/stack-protector.c   |  4 ++--
  11 files changed, 42 insertions(+), 24 deletions(-)
 
-diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp
-index 9bc9ae4f6a..add512e0a5 100644
 a/lib/Driver/ToolChains.cpp
-+++ b/lib/Driver/ToolChains.cpp
-@@ -4710,7 +4710,19 @@ void Linux::AddIAMCUIncludeArgs(const ArgList 
,
+diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
+index 72a9f85ba3..4fd567b03b 100644
+--- a/lib/Driver/ToolChains/Gnu.cpp
 b/lib/Driver/ToolChains/Gnu.cpp
+@@ -417,6 +417,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation , 
const JobAction ,
+   const bool IsIAMCU = ToolChain.getTriple().isOSIAMCU();
+   const bool IsPIE =
+   !Args.hasArg(options::OPT_shared) && !Args.hasArg(options::OPT_static) 
&&
++  !Args.hasArg(options::OPT_nopie) &&
+   (Args.hasArg(options::OPT_pie) || ToolChain.isPIEDefault());
+   const bool HasCRTBeginEndFiles =
+   ToolChain.getTriple().hasEnvironment() ||
+diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp
+index 08a27fa7fe..1dd70b115d 100644
+--- a/lib/Driver/ToolChains/Linux.cpp
 b/lib/Driver/ToolChains/Linux.cpp
+@@ -810,7 +810,19 @@ void Linux::AddIAMCUIncludeArgs(const 

[arch-commits] Commit in llvm/trunk (5 files)

2017-06-23 Thread Evangelos Foutras
Date: Saturday, June 24, 2017 @ 04:45:25
  Author: foutrelis
Revision: 299182

upgpkg: llvm 4.0.1-1

New upstream release.

Modified:
  llvm/trunk/PKGBUILD
Deleted:
  llvm/trunk/0001-AMDGPU-Fix-bug-31610.patch
  llvm/trunk/0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch
  llvm/trunk/0002-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch
  llvm/trunk/0003-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch

--+
 0001-AMDGPU-Fix-bug-31610.patch  |   74 ---
 0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch |  193 --
 0002-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch |   36 -
 0003-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch |   78 
 PKGBUILD |   31 -
 5 files changed, 10 insertions(+), 402 deletions(-)

Deleted: 0001-AMDGPU-Fix-bug-31610.patch
===
--- 0001-AMDGPU-Fix-bug-31610.patch 2017-06-24 03:46:56 UTC (rev 299181)
+++ 0001-AMDGPU-Fix-bug-31610.patch 2017-06-24 04:45:25 UTC (rev 299182)
@@ -1,74 +0,0 @@
-From bc72a21666a9efc78e71b0296313f6e1449649fa Mon Sep 17 00:00:00 2001
-From: Konstantin Zhuravlyov 
-Date: Wed, 22 Mar 2017 21:48:18 +
-Subject: [PATCH] [AMDGPU] Fix bug 31610
-
-Differential Revision: https://reviews.llvm.org/D31258
-
-
-git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298551 
91177308-0d34-0410-b5e6-96231b3b80d8

- lib/Target/AMDGPU/AMDGPURuntimeMetadata.h  | 8 
- lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp | 5 ++---
- 2 files changed, 6 insertions(+), 7 deletions(-)
-
-diff --git a/lib/Target/AMDGPU/AMDGPURuntimeMetadata.h 
b/lib/Target/AMDGPU/AMDGPURuntimeMetadata.h
-index ed147ff4c43..36e7a0c42a9 100644
 a/lib/Target/AMDGPU/AMDGPURuntimeMetadata.h
-+++ b/lib/Target/AMDGPU/AMDGPURuntimeMetadata.h
-@@ -40,8 +40,8 @@ namespace AMDGPU {
- namespace RuntimeMD {
- 
-   // Version and revision of runtime metadata
--  const unsigned char MDVersion   = 2;
--  const unsigned char MDRevision  = 0;
-+  const uint32_t MDVersion   = 2;
-+  const uint32_t MDRevision  = 0;
- 
-   // Name of keys for runtime metadata.
-   namespace KeyName {
-@@ -215,7 +215,7 @@ namespace RuntimeMD {
- struct Metadata {
-   std::string Name;
-   std::string Language;
--  std::vector LanguageVersion;
-+  std::vector LanguageVersion;
-   std::vector ReqdWorkGroupSize;
-   std::vector WorkGroupSizeHint;
-   std::string VecTypeHint;
-@@ -265,7 +265,7 @@ namespace RuntimeMD {
-   namespace Program {
- // In-memory representation of program information.
- struct Metadata {
--  std::vector MDVersionSeq;
-+  std::vector MDVersionSeq;
-   std::vector PrintfInfo;
-   std::vector Kernels;
- 
-diff --git a/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp 
b/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp
-index 0e87d750f5d..7c96898297c 100644
 a/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp
-+++ b/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp
-@@ -49,7 +49,6 @@ static cl::opt
- CheckRuntimeMDParser("amdgpu-check-rtmd-parser", cl::Hidden,
-  cl::desc("Check AMDGPU runtime metadata YAML parser"));
- 
--LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(uint8_t)
- LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(uint32_t)
- LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(std::string)
- LLVM_YAML_IS_SEQUENCE_VECTOR(Kernel::Metadata)
-@@ -297,9 +296,9 @@ static Kernel::Metadata getRuntimeMDForKernel(const 
Function ) {
-   auto Node = MD->getOperand(0);
-   if (Node->getNumOperands() > 1) {
- Kernel.Language = "OpenCL C";
--uint16_t Major = mdconst::extract(Node->getOperand(0))
-+uint32_t Major = mdconst::extract(Node->getOperand(0))
-  ->getZExtValue();
--uint16_t Minor = mdconst::extract(Node->getOperand(1))
-+uint32_t Minor = mdconst::extract(Node->getOperand(1))
-  ->getZExtValue();
- Kernel.LanguageVersion.push_back(Major);
- Kernel.LanguageVersion.push_back(Minor);
--- 
-2.12.2
-

Deleted: 0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch
===
--- 0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch
2017-06-24 03:46:56 UTC (rev 299181)
+++ 0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch
2017-06-24 04:45:25 UTC (rev 299182)
@@ -1,193 +0,0 @@
-From a61fc423f3c043314efd4c0cdb1367de2077ac36 Mon Sep 17 00:00:00 2001
-From: Eric Fiselier 
-Date: Fri, 10 Feb 2017 01:59:20 +
-Subject: [PATCH] [CMake] Fix pthread handling for out-of-tree builds
-
-LLVM defines `PTHREAD_LIB` which is used by AddLLVM.cmake and various projects
-to correctly link the threading library when needed. Unfortunately

[arch-commits] Commit in llvm/trunk (5 files)

2014-09-04 Thread Evangelos Foutras
Date: Thursday, September 4, 2014 @ 13:56:08
  Author: foutrelis
Revision: 220938

Prepare llvm 3.5.0; can't push yet due to boost rebuild

Added:
  llvm/trunk/llvm-3.5.0-force-link-pass.o.patch
Modified:
  llvm/trunk/PKGBUILD
Deleted:
  llvm/trunk/clang-3.3-use-gold-linker.patch
  llvm/trunk/clang-3.4-fstack-protector-strong.patch
  llvm/trunk/llvm-3.4-provide-cmake-modules.patch

-+
 PKGBUILD|   89 +++-
 clang-3.3-use-gold-linker.patch |   12 -
 clang-3.4-fstack-protector-strong.patch |  165 ---
 llvm-3.4-provide-cmake-modules.patch|  319 --
 llvm-3.5.0-force-link-pass.o.patch  |   28 ++
 5 files changed, 66 insertions(+), 547 deletions(-)

Modified: PKGBUILD
===
--- PKGBUILD2014-09-04 11:18:07 UTC (rev 220937)
+++ PKGBUILD2014-09-04 11:56:08 UTC (rev 220938)
@@ -11,73 +11,57 @@
 
 pkgname=('llvm' 'llvm-libs' 'llvm-ocaml' 'clang' 'clang-analyzer'
  'clang-tools-extra')
-pkgver=3.4.2
-_base_ver=3.4
+pkgver=3.5.0
 pkgrel=1
 arch=('i686' 'x86_64')
 url=http://llvm.org/;
 license=('custom:University of Illinois/NCSA Open Source License')
-makedepends=('libffi' 'python2' 'ocaml' 'python-sphinx')
+makedepends=('libffi' 'python2' 'ocaml' 'python-sphinx' 'chrpath')
 options=('staticlibs')
-source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.gz{,.sig}
-http://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.gz{,.sig}
-
http://llvm.org/releases/$_base_ver/clang-tools-extra-$_base_ver.src.tar.gz{,.sig}
-
http://llvm.org/releases/$_base_ver/compiler-rt-$_base_ver.src.tar.gz{,.sig}
-clang-3.3-use-gold-linker.patch
-clang-3.4-fstack-protector-strong.patch
-llvm-3.4-provide-cmake-modules.patch
+source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz{,.sig}
+http://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz{,.sig}
+
http://llvm.org/releases/$pkgver/clang-tools-extra-$pkgver.src.tar.xz{,.sig}
+http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.xz{,.sig}
+llvm-3.5.0-force-link-pass.o.patch
 llvm-Config-config.h
 llvm-Config-llvm-config.h)
-sha256sums=('17038d47069ad0700c063caed76f0c7259628b0e79651ce2b540d506f2f1efd7'
+sha256sums=('28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03'
 'SKIP'
-'5ba6f5772f8d00f445209356a7daf83c5bca2da5acd10de517ad2359ae95bc10'
+'fc80992e004b06f6c7afb612de1cdaa9ac9d25811c55f94fcf7331d9b81cdb8b'
 'SKIP'
-'ba85187551ae97fe1c8ab569903beae5ff0900e21233e5eb5389f6ceab1028b4'
+'2981beb378afb5aa5c50ed017720a42a33e77e902c7086ad2d412ef4fa931f69'
 'SKIP'
-'f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c'
+'a4b3e655832bf8d9a357ea2c771db347237460e131988cbb96cda40ff39a8136'
 'SKIP'
-'8240adda155d7961eeb5d07ed50ead10cb7125f70283dff7f1c9fee9df3cea09'
-'7a2a1ddc94f67e643c1ab74601ec07deb6d5d344d4b19ed17c900afb2f6f2863'
-'b6bb154d5ec998328e818bb09acfc6229e41367ba45cea7cc5b2dd2a7c835cf5'
+'5702053503d49448598eda1b8dc8c263f0df9ad7486833273e3987b5dec25a19'
 '312574e655f9a87784ca416949c505c452b819fad3061f2cde8aced6540a19a3'
 '597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecab8bc48')
 
 prepare() {
-  # Change directory names to release names so we don't need to change the
-  # whole PKGBUILD
-  mv llvm-$pkgver{.src,}
-  mv cfe-$pkgver.src clang-$pkgver
+  cd $srcdir/llvm-$pkgver.src
 
-  cd $srcdir/llvm-$pkgver
-
   # At the present, clang must reside inside the LLVM source code tree to build
   # See http://llvm.org/bugs/show_bug.cgi?id=4840
-  mv $srcdir/clang-$pkgver tools/clang
+  mv $srcdir/cfe-$pkgver.src tools/clang
 
-  mv $srcdir/clang-tools-extra-$_base_ver tools/clang/tools/extra
+  mv $srcdir/clang-tools-extra-$pkgver.src tools/clang/tools/extra
 
-  mv $srcdir/compiler-rt-$_base_ver projects/compiler-rt
+  mv $srcdir/compiler-rt-$pkgver.src projects/compiler-rt
 
   # Fix docs installation directory
   sed -i 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \
 Makefile.config.in
 
-  # Make -flto work; use ld.gold instead of the default linker
-  patch -d tools/clang -Np1 -i $srcdir/clang-3.3-use-gold-linker.patch
+  # Fix definition of LLVM_CMAKE_DIR in LLVMConfig.cmake
+  sed -i 's/$(DESTDIR)$(PROJ_prefix)/$(PROJ_prefix)/' cmake/modules/Makefile
 
-  # Add command line option -fstack-protector-strong
-  # http://reviews.llvm.org/rL201120
-  patch -d tools/clang -Np0 -i 
$srcdir/clang-3.4-fstack-protector-strong.patch
-
-  # Provide CMake modules (FS#38705)
-  # http://reviews.llvm.org/rL201047
-  # http://reviews.llvm.org/rL201048
-  # http://reviews.llvm.org/rL201053
-  patch -Np0 -i