diff options
author | Vladimir Kalnitsky <klntsky@gmail.com> | 2022-11-27 19:00:03 +0400 |
---|---|---|
committer | Vladimir Kalnitsky <klntsky@gmail.com> | 2022-11-27 19:00:03 +0400 |
commit | cf5b4eae5f34acb11c3c3d02fde904a354609c71 (patch) | |
tree | 5f9d794af6b932b1d2a4cb0d384ea9eee48b99d7 | |
parent | c32deeb0530b20d24bc7ba8277e0136c2cb9495a (diff) | |
download | nixpkgs-cf5b4eae5f34acb11c3c3d02fde904a354609c71.tar nixpkgs-cf5b4eae5f34acb11c3c3d02fde904a354609c71.tar.gz nixpkgs-cf5b4eae5f34acb11c3c3d02fde904a354609c71.tar.bz2 nixpkgs-cf5b4eae5f34acb11c3c3d02fde904a354609c71.tar.lz nixpkgs-cf5b4eae5f34acb11c3c3d02fde904a354609c71.tar.xz nixpkgs-cf5b4eae5f34acb11c3c3d02fde904a354609c71.tar.zst nixpkgs-cf5b4eae5f34acb11c3c3d02fde904a354609c71.zip |
Fix hotpatch: skip tests that assume .so files presence at hardcoded paths
-rw-r--r-- | pkgs/development/libraries/hotpatch/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/libraries/hotpatch/no-loader-test.patch | 25 |
2 files changed, 27 insertions, 0 deletions
diff --git a/pkgs/development/libraries/hotpatch/default.nix b/pkgs/development/libraries/hotpatch/default.nix index 84803159a2b..66be524a86c 100644 --- a/pkgs/development/libraries/hotpatch/default.nix +++ b/pkgs/development/libraries/hotpatch/default.nix @@ -27,6 +27,8 @@ stdenv.mkDerivation rec { LD_LIBRARY_PATH=$(pwd)/src make test ''; + patches = [ ./no-loader-test.patch ]; + meta = with lib; { description = "Hot patching executables on Linux using .so file injection"; homepage = src.meta.homepage; diff --git a/pkgs/development/libraries/hotpatch/no-loader-test.patch b/pkgs/development/libraries/hotpatch/no-loader-test.patch new file mode 100644 index 00000000000..5bc975bb848 --- /dev/null +++ b/pkgs/development/libraries/hotpatch/no-loader-test.patch @@ -0,0 +1,25 @@ +diff --git a/test/loader.c b/test/loader.c +index 4e3dfdc..7f98d94 100644 +--- a/test/loader.c ++++ b/test/loader.c +@@ -54,20 +54,6 @@ int main(int argc, char **argv) + assert(ret < 0); + ret = ld_find_library(maps, mapnum, "libc", false, NULL, 6); + assert(ret >= 0); +-#if __WORDSIZE == 64 +- ret = ld_find_library(maps, mapnum, "/lib64/ld-linux-x86-64.so.2", +- true, NULL, 6); +- assert(ret >= 0); +- ret = ld_find_library(maps, mapnum, "/lib/ld-linux-x86-64.so.2", +- false, NULL, 6); +-#else +- ret = ld_find_library(maps, mapnum, "/lib/ld-linux.so.2", +- true, NULL, 6); +- assert(ret >= 0); +- ret = ld_find_library(maps, mapnum, "/lib32/ld-linux.so.2", +- false, NULL, 6); +-#endif +- assert(ret < 0); + ld_free_maps(maps, mapnum); + return 0; + } |