summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
authorPiotr Bogdan <ppbogdan@gmail.com>2017-11-10 19:16:11 +0000
committerPiotr Bogdan <ppbogdan@gmail.com>2017-11-10 19:16:11 +0000
commit38ac67fc9a2d6555c9134a661ba5939f825ee4e7 (patch)
treece591745564e5fce6ab54cea4f990dfa4190bfb8 /pkgs/development/compilers
parent6acabb06b70cd7bc8615c9595e3238c6f0a97c8f (diff)
downloadnixpkgs-38ac67fc9a2d6555c9134a661ba5939f825ee4e7.tar
nixpkgs-38ac67fc9a2d6555c9134a661ba5939f825ee4e7.tar.gz
nixpkgs-38ac67fc9a2d6555c9134a661ba5939f825ee4e7.tar.bz2
nixpkgs-38ac67fc9a2d6555c9134a661ba5939f825ee4e7.tar.lz
nixpkgs-38ac67fc9a2d6555c9134a661ba5939f825ee4e7.tar.xz
nixpkgs-38ac67fc9a2d6555c9134a661ba5939f825ee4e7.tar.zst
nixpkgs-38ac67fc9a2d6555c9134a661ba5939f825ee4e7.zip
llvm_34: fix build with glibc 2.26
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/llvm/3.4/llvm.nix17
1 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix
index 743f243791b..6e7ef22392b 100644
--- a/pkgs/development/compilers/llvm/3.4/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.4/llvm.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetch
+, fetchpatch
 , perl
 , groff
 , cmake
@@ -39,6 +40,22 @@ in stdenv.mkDerivation rec {
     ../fix-llvm-config.patch
   ];
 
+  postPatch = stdenv.lib.optionalString (stdenv ? glibc) ''
+    (
+     cd projects/compiler-rt
+      patch -p1 -F3 < ${
+        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/