Skip to content

Commit

Permalink
tests.cc-wrapper: verify building with sanitizers
Browse files Browse the repository at this point in the history
  • Loading branch information
Ralith authored and Ericson2314 committed May 24, 2018
1 parent 16da44b commit 46eeef1
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 2 deletions.
4 changes: 2 additions & 2 deletions pkgs/build-support/cc-wrapper/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
, stdenvNoCC, nativeTools, propagateDoc ? !nativeTools, noLibc ? false, nativeLibc, nativePrefix ? ""
, cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell
, extraPackages ? [], extraBuildCommands ? ""
, isGNU ? false, isClang ? cc.isClang or false, gnugrep ? null
, isGNU ? false, isClang ? cc.isClang or false, isCompilerRT ? false, gnugrep ? null
, buildPackages ? {}
}:

Expand Down Expand Up @@ -90,7 +90,7 @@ stdenv.mkDerivation {
# Binutils, and Apple's "cctools"; "bintools" as an attempt to find an
# unused middle-ground name that evokes both.
inherit bintools;
inherit libc nativeTools nativeLibc nativePrefix isGNU isClang default_cxx_stdlib_compile;
inherit libc nativeTools nativeLibc nativePrefix isGNU isClang isCompilerRT default_cxx_stdlib_compile;

emacsBufferSetup = pkgs: ''
; We should handle propagation here too
Expand Down
1 change: 1 addition & 0 deletions pkgs/development/compilers/llvm/6/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ let
targetLlvmLibraries.libcxxabi
targetLlvmLibraries.compiler-rt
];
isCompilerRT = true;
extraBuildCommands = ''
rsrc="$out/resource-root"
mkdir "$rsrc"
Expand Down
5 changes: 5 additions & 0 deletions pkgs/test/cc-wrapper/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,11 @@ stdenv.mkDerivation {
NIX_LDFLAGS="-L$NIX_BUILD_TOP/foo/lib -rpath $NIX_BUILD_TOP/foo/lib" $CC -lfoo -o ldflags-check ${./ldflags-main.c}
./ldflags-check
'' + stdenv.lib.optionalString (stdenv.cc.isCompilerRT or false) ''
$CC -o sanitizers -fsanitize=address,undefined ${./sanitizers.c}
./sanitizers
'' + ''
touch $out
'';
Expand Down
8 changes: 8 additions & 0 deletions pkgs/test/cc-wrapper/sanitizers.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#include <sanitizer/asan_interface.h>
#include <stdio.h>

int main(int argc, char **argv)
{
fprintf(stderr, "ok\n");
return 0;
}

0 comments on commit 46eeef1

Please sign in to comment.