pahole's processes DWARF -> BTF in a pseudo-random order if multi
threading is enabled (default in the Linux kernel). This can be fixed in dependent
derivation by making sure users don't ever pass "-j" or "-j N", but it
seems easier and safer to just detect whether reprodubility is desired
(by proxy: if SOURCE_DATE_EPOCH is set) and ignore the multi-threading
flag.
We need newer pahole to support `binutils-2.40` which started generating
fresh DWARF tags that pahole-1.24 does not yet understand and fails as:
$ nix log /nix/store/ckjr3sbsh13y1prigppk2y0jpf0p4icm-linux-6.1.6.drv
...
BTF .btf.vmlinux.bin.o
Unsupported DW_TAG_unspecified_type(0x3b)
Encountered error while encoding BTF.
Upstream thread to add the support for it:
https://lore.kernel.org/all/YzwkazNc6wNCpQTN@kernel.org/t/
Also:
- make fetchSubodules explicit, it is strictly required by pahole
build system until debian efforts to use system libbpf finish:
see https://www.spinics.net/lists/dwarves/msg00732.html
- fix license to gpl2Only as requested by review bot