about summary refs log tree commit diff
path: root/pkgs/development/compilers/llvm
diff options
context:
space:
mode:
authorBenjamin Saunders <ben.e.saunders@gmail.com>2018-05-24 14:43:31 -0700
committerBenjamin Saunders <ben.e.saunders@gmail.com>2018-05-24 15:04:30 -0700
commitb0d0b1adfe917f2fadd49fc4931fbfb61f762c60 (patch)
tree808a50ffec84cd4505abd0cdca7b9608bdfdc1ab /pkgs/development/compilers/llvm
parent11d26c797fb4010f5cae07848902e7fad8a9d3a9 (diff)
downloadnixlib-b0d0b1adfe917f2fadd49fc4931fbfb61f762c60.tar
nixlib-b0d0b1adfe917f2fadd49fc4931fbfb61f762c60.tar.gz
nixlib-b0d0b1adfe917f2fadd49fc4931fbfb61f762c60.tar.bz2
nixlib-b0d0b1adfe917f2fadd49fc4931fbfb61f762c60.tar.lz
nixlib-b0d0b1adfe917f2fadd49fc4931fbfb61f762c60.tar.xz
nixlib-b0d0b1adfe917f2fadd49fc4931fbfb61f762c60.tar.zst
nixlib-b0d0b1adfe917f2fadd49fc4931fbfb61f762c60.zip
clang_6: fix sanitizers under libstdc++
Diffstat (limited to 'pkgs/development/compilers/llvm')
-rw-r--r--pkgs/development/compilers/llvm/6/default.nix13
1 files changed, 9 insertions, 4 deletions
diff --git a/pkgs/development/compilers/llvm/6/default.nix b/pkgs/development/compilers/llvm/6/default.nix
index da5a97a9bbaa..17c743c04082 100644
--- a/pkgs/development/compilers/llvm/6/default.nix
+++ b/pkgs/development/compilers/llvm/6/default.nix
@@ -38,10 +38,16 @@ let
 
     clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
 
-    libstdcxxClang = wrapCCWith {
+    libstdcxxClang = wrapCCWith rec {
       cc = tools.clang-unwrapped;
-      extraPackages = [ libstdcxxHook ];
-      extraBuildCommands = stdenv.lib.optionalString stdenv.targetPlatform.isLinux ''
+      extraPackages = [ libstdcxxHook targetLlvmLibraries.compiler-rt ];
+      extraBuildCommands = ''
+        rsrc="$out/resource-root"
+        mkdir "$rsrc"
+        ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
+        ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
+        echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
+      '' + stdenv.lib.optionalString stdenv.targetPlatform.isLinux ''
         echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
       '';
     };
@@ -53,7 +59,6 @@ let
         targetLlvmLibraries.libcxxabi
         targetLlvmLibraries.compiler-rt
       ];
-      isCompilerRT = true;
       extraBuildCommands = ''
         rsrc="$out/resource-root"
         mkdir "$rsrc"