summary refs log tree commit diff
path: root/pkgs/development/compilers/llvm/3.5
diff options
context:
space:
mode:
authorPiotr Bogdan <ppbogdan@gmail.com>2017-11-10 19:16:26 +0000
committerPiotr Bogdan <ppbogdan@gmail.com>2017-11-10 19:16:26 +0000
commitb261c73dced6ad52262d48d1a8f4c427012a4a0b (patch)
tree23c79199fc9f16a3f8508afe88a10f2c01ccc33e /pkgs/development/compilers/llvm/3.5
parent38ac67fc9a2d6555c9134a661ba5939f825ee4e7 (diff)
downloadnixlib-b261c73dced6ad52262d48d1a8f4c427012a4a0b.tar
nixlib-b261c73dced6ad52262d48d1a8f4c427012a4a0b.tar.gz
nixlib-b261c73dced6ad52262d48d1a8f4c427012a4a0b.tar.bz2
nixlib-b261c73dced6ad52262d48d1a8f4c427012a4a0b.tar.lz
nixlib-b261c73dced6ad52262d48d1a8f4c427012a4a0b.tar.xz
nixlib-b261c73dced6ad52262d48d1a8f4c427012a4a0b.tar.zst
nixlib-b261c73dced6ad52262d48d1a8f4c427012a4a0b.zip
llvm_35: fix build with glibc 2.26
Diffstat (limited to 'pkgs/development/compilers/llvm/3.5')
-rw-r--r--pkgs/development/compilers/llvm/3.5/llvm.nix17
1 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/development/compilers/llvm/3.5/llvm.nix b/pkgs/development/compilers/llvm/3.5/llvm.nix
index 94f39183345f..26144e38619f 100644
--- a/pkgs/development/compilers/llvm/3.5/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.5/llvm.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetch
+, fetchpatch
 , perl
 , groff
 , cmake
@@ -39,6 +40,22 @@ in stdenv.mkDerivation rec {
       --replace 'set(CMAKE_INSTALL_RPATH "@executable_path/../lib")' ""
   '';
 
+  postPatch = stdenv.lib.optionalString (stdenv ? glibc) ''
+    (
+      cd projects/compiler-rt
+      patch -p1 < ${
+        fetchpatch {
+          name = "sigaltstack.patch"; # for glibc-2.26
+          url = https://github.com/llvm-mirror/compiler-rt/commit/8a5e425a68d.diff;
+          sha256 = "0h4y5vl74qaa7dl54b1fcyqalvlpd8zban2d1jxfkxpzyi7m8ifi";
+        }
+      }
+
+      sed -i "s,#include <pthread.h>,&\n#include <signal.h>,g" \
+        lib/asan/asan_linux.cc
+    )
+  '';
+
   # hacky fix: created binaries need to be run before installation
   preBuild = ''
     mkdir -p $out/