kernel: add lockdep expression

Lockdep is the kernel's locking validation/debugging tool and has seen
heavy pro-active usage and development. In Linux 3.14, it's now
available directly to userspace for the same purpose. It comes with a
convenient utility to LD_PRELOAD a shared library for validation, or a
user-space API to link to directly.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
This commit is contained in:
Austin Seipp 2014-04-01 01:10:28 -05:00
parent 9493159017
commit bdff718c5b
2 changed files with 27 additions and 0 deletions

View file

@ -0,0 +1,25 @@
{ stdenv, kernel }:
assert stdenv.lib.versionAtLeast kernel.version "3.14";
stdenv.mkDerivation {
name = "lockdep-linux-${kernel.version}";
inherit (kernel) src patches;
preConfigure = "cd tools/lib/lockdep";
installPhase = ''
mkdir -p $out/bin $out/lib $out/include
cp -R include/liblockdep $out/include
make install DESTDIR=$out prefix=""
substituteInPlace $out/bin/lockdep --replace "./liblockdep.so" "$out/lib/liblockdep.so"
'';
meta = {
description = "User-space locking validation via the kernel";
homepage = "https://kernel.org/";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
};
}

View file

@ -7031,6 +7031,8 @@ let
perf = callPackage ../os-specific/linux/kernel/perf.nix { };
lockdep = callPackage ../os-specific/linux/kernel/lockdep.nix { };
psmouse_alps = callPackage ../os-specific/linux/psmouse-alps { };
spl = callPackage ../os-specific/linux/spl/default.nix { };