mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-26 08:53:21 +00:00
commit
622b7430fa
@ -9,14 +9,15 @@
|
||||
, argp-standalone
|
||||
, musl-obstack
|
||||
, nixosTests
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pahole";
|
||||
version = "1.26";
|
||||
version = "1.27";
|
||||
src = fetchzip {
|
||||
url = "https://git.kernel.org/pub/scm/devel/pahole/pahole.git/snapshot/pahole-${version}.tar.gz";
|
||||
hash = "sha256-Lf9Z4vHRFplMrUf4VhJ7EDPn+S4RaS1Emm0wyEcG2HU=";
|
||||
hash = "sha256-BwA17lc2yegmOzLfoIu8OmG/PVdc+4sOGzB8Jc4ZjGM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
@ -26,7 +27,16 @@ stdenv.mkDerivation rec {
|
||||
musl-obstack
|
||||
];
|
||||
|
||||
patches = [ ./threading-reproducibility.patch ];
|
||||
patches = [
|
||||
# https://github.com/acmel/dwarves/pull/51 / https://lkml.kernel.org/r/20240626032253.3406460-1-asmadeus@codewreck.org
|
||||
./threading-reproducibility.patch
|
||||
# https://github.com/acmel/dwarves/issues/53
|
||||
(fetchpatch {
|
||||
name = "fix-clang-btf-generation-bug.patch";
|
||||
url = "https://github.com/acmel/dwarves/commit/6a2b27c0f512619b0e7a769a18a0fb05bb3789a5.patch";
|
||||
hash = "sha256-Le1BAew/a/QKkYNLgSQxEvZ9mEEglUw8URwz1kiheeE=";
|
||||
})
|
||||
];
|
||||
|
||||
# Put libraries in "lib" subdirectory, not top level of $out
|
||||
cmakeFlags = [ "-D__LIB=lib" "-DLIBBPF_EMBEDDED=OFF" ];
|
||||
|
@ -1,18 +1,15 @@
|
||||
diff --git a/pahole.c b/pahole.c
|
||||
index 6fc4ed6..a4e306f 100644
|
||||
index 954498d2ad4f..2b010658330c 100644
|
||||
--- a/pahole.c
|
||||
+++ b/pahole.c
|
||||
@@ -1687,8 +1687,11 @@ static error_t pahole__options_parser(int key, char *arg,
|
||||
class_name = arg; break;
|
||||
case 'j':
|
||||
#if _ELFUTILS_PREREQ(0, 178)
|
||||
- conf_load.nr_jobs = arg ? atoi(arg) :
|
||||
- sysconf(_SC_NPROCESSORS_ONLN) * 1.1;
|
||||
+ // Force single thread if reproducibility is desirable.
|
||||
+ if (!getenv("SOURCE_DATE_EPOCH")) {
|
||||
+ conf_load.nr_jobs = arg ? atoi(arg) :
|
||||
+ sysconf(_SC_NPROCESSORS_ONLN) * 1.1;
|
||||
+ }
|
||||
#else
|
||||
fputs("pahole: Multithreading requires elfutils >= 0.178. Continuing with a single thread...\n", stderr);
|
||||
#endif
|
||||
@@ -3705,6 +3705,10 @@ int main(int argc, char *argv[])
|
||||
goto out;
|
||||
}
|
||||
|
||||
+ /* This being set means whoever called us tries to do a reproducible build */
|
||||
+ if (getenv("SOURCE_DATE_EPOCH"))
|
||||
+ conf_load.reproducible_build = true;
|
||||
+
|
||||
if (languages.str && parse_languages())
|
||||
return rc;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user