mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-26 00:43:20 +00:00
pahole: reproducibility: use --reproducible_build instead of -j1
New version brought in the --reproducible_build option, which is more efficient than forcing a single thread, and produces the same output (tested on linux kernel's vmlinux BTF extraction)
This commit is contained in:
parent
8a826cb8f8
commit
d354c891fb
@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
|
|||||||
musl-obstack
|
musl-obstack
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# https://github.com/acmel/dwarves/pull/51
|
||||||
patches = [ ./threading-reproducibility.patch ];
|
patches = [ ./threading-reproducibility.patch ];
|
||||||
|
|
||||||
# Put libraries in "lib" subdirectory, not top level of $out
|
# Put libraries in "lib" subdirectory, not top level of $out
|
||||||
|
@ -1,18 +1,15 @@
|
|||||||
diff --git a/pahole.c b/pahole.c
|
diff --git a/pahole.c b/pahole.c
|
||||||
index 6fc4ed6..a4e306f 100644
|
index 954498d2ad4f..2b010658330c 100644
|
||||||
--- a/pahole.c
|
--- a/pahole.c
|
||||||
+++ b/pahole.c
|
+++ b/pahole.c
|
||||||
@@ -1687,8 +1687,11 @@ static error_t pahole__options_parser(int key, char *arg,
|
@@ -3705,6 +3705,10 @@ int main(int argc, char *argv[])
|
||||||
class_name = arg; break;
|
goto out;
|
||||||
case 'j':
|
}
|
||||||
#if _ELFUTILS_PREREQ(0, 178)
|
|
||||||
- conf_load.nr_jobs = arg ? atoi(arg) :
|
+ /* This being set means whoever called us tries to do a reproducible build */
|
||||||
- sysconf(_SC_NPROCESSORS_ONLN) * 1.1;
|
+ if (getenv("SOURCE_DATE_EPOCH"))
|
||||||
+ // Force single thread if reproducibility is desirable.
|
+ conf_load.reproducible_build = true;
|
||||||
+ if (!getenv("SOURCE_DATE_EPOCH")) {
|
+
|
||||||
+ conf_load.nr_jobs = arg ? atoi(arg) :
|
if (languages.str && parse_languages())
|
||||||
+ sysconf(_SC_NPROCESSORS_ONLN) * 1.1;
|
return rc;
|
||||||
+ }
|
|
||||||
#else
|
|
||||||
fputs("pahole: Multithreading requires elfutils >= 0.178. Continuing with a single thread...\n", stderr);
|
|
||||||
#endif
|
|
||||||
|
Loading…
Reference in New Issue
Block a user