diff options
| author | Rahul Butani <rrbutani@users.noreply.github.com> | 2023-02-25 12:02:24 -0600 |
|---|---|---|
| committer | Rahul Butani <rrbutani@users.noreply.github.com> | 2023-02-25 12:49:40 -0600 |
| commit | b41933a1be1ea0f9bddad4ef5eed6d0ed61a2510 (patch) | |
| tree | 31b19ca9340e3f836edeb26c0a1fd9895ad2fd55 /pkgs/development/python-modules/termplotlib/gnuplot-subprocess.patch | |
| parent | 504c4fdc34d785d3cd2cf5bc964d08644d30b9d8 (diff) | |
bintools-wrapper: specify SHA1 as the `build-id` hash style explicitly
NixOS/nixpkgs#146275 has more discussion on this; the abridged version
is that `lld` defaults to using `--build-id=fast` while GNU `ld` defaults
to `--build-id=sha1`. These differ in length and so
`separate-debug-info.sh`, as of this writing, errors on `lld`'s shorter
`--build-id=fast`-generated hashes.
`lld` offers the following `build-id` styles:
- UUID (random; fast but bad for reproducibility)
- fast (xxhash; fast but shorter hashes)
- user provided hexstring
- SHA1
- MD5
GNU `ld` supports the latter three options, `mold` supports all of these
plus SHA256.
UUID is out because it's not reproducible, fast isn't supported by GNU
`ld`
Using a nix provided (sourced from the output base hash) hash as the
`build-id` seems tempting but would require a little extra work
(we have to include some characteristic of the binary being hashed
so that binaries within a derivation still have unique hashes; it
seems easy to get this wrong; i.e. a path based approach would make
two otherwise identical binaries that reside at different paths have
different `build-id` hashes)
That leaves SHA1 and MD5 and GNU `ld` already defaults to the former.
This commit adds `$NIX_BUILD_ID_STYLE` as an escape hatch, in case any
packages have strong opinions about which hash to use.
----
Note that if/when NixOS/nixpkgs#146275 goes through, this change can be
reverted if linker speed is a priority.
Diffstat (limited to 'pkgs/development/python-modules/termplotlib/gnuplot-subprocess.patch')
0 files changed, 0 insertions, 0 deletions
