[all-commits] [llvm/llvm-project] 1d96e4: [ELF] Change build-id default to sha1 (#93943)
Tatsuyuki Ishi via All-commits
all-commits at lists.llvm.org
Mon Jun 10 10:15:06 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1d96e4bc2d09bc085e7c1b303d930684756b94a7
https://github.com/llvm/llvm-project/commit/1d96e4bc2d09bc085e7c1b303d930684756b94a7
Author: Tatsuyuki Ishi <ishitatsuyuki at google.com>
Date: 2024-06-10 (Mon, 10 Jun 2024)
Changed paths:
M lld/ELF/Options.td
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
M lld/test/ELF/build-id.s
Log Message:
-----------
[ELF] Change build-id default to sha1 (#93943)
The current default, build-id=fast, is only 8 bytes due to the usage of
64-bit XXH3. This is incompatible with RPM packaging tools which
requires >=16 bytes [1].
In Clang the ENABLE_LINKER_BUILD_ID define makes it pass --build-id
without a specific hash type. When also defaulting to LLD, this provides
a pretty broken default out-of-box.
Using XXH3 was a considerable performance advantage when build-id was
first implemented, because sha1 was really sha1 and rather slow.
Nowadays sha1 is just 160-bit BLAKE3 which is decently fast and not
cryptographically broken, so it should be a good default.
Note that the default remains "fast" for wasm because sha1 for wasm is
still real sha1.
Close https://github.com/llvm/llvm-project/issues/43483.
[1]:
https://github.com/rpm-software-management/rpm/blob/b7d427728b8ba8734ba47d51849a5736bdd727cd/build/files.c#L1883
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list