guix-play/gnu/packages/patches/dwarves-threading-reproducibility.patch
Maxim Cournoyer e9e825387f
gnu: Add dwarves.
* gnu/packages/linux.scm (dwarves): New variable.

Change-Id: Ib2452868eae76bea95060a70e568dfb6e84b2a75
2024-05-29 22:01:23 -04:00

24 lines
813 B
Diff

Retrieved from nixpkgs.
This causes pahole to use '-j1' (single thread) when SOURCE_DATE_EPOCH
is set, to ensure it produces reproducible output.
diff --git a/pahole.c b/pahole.c
index 6fc4ed6..a4e306f 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