authorgravatar for jeremy@jvolkman.comJeremy Volkman <jeremy@jvolkman.com> 2024-01-05 00:55:59-08:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2024-01-08 10:23:07+01:00
log8fd15c6ca8b93fa9888e2641ebec149f6d600643
treee9b996bdb27247754046c962e18e3757cab87fdd
parentf5978181e41e272b5c272440b9c543ead0357e2e

Use a fixed chunk size when calculating MachO UUID


1 files changed, 3 insertions(+), 3 deletions(-)

src/link/MachO/uuid.zig+3-3
......@@ -5,9 +5,9 @@
55/// TODO LLD also hashes the output filename to disambiguate between same builds with different
66/// output files. Should we also do that?
77pub fn calcUuid(comp: *const Compilation, file: fs.File, file_size: u64, out: *[Md5.digest_length]u8) !void {
8 const num_chunks = @max(comp.thread_pool.threads.len, 1) * 0x10;
9 const chunk_size = @divTrunc(file_size, num_chunks);
10 const actual_num_chunks = if (@rem(file_size, num_chunks) > 0) num_chunks + 1 else num_chunks;
8 const chunk_size: usize = 1024 * 1024;
9 const num_chunks: usize = std.math.cast(usize, @divTrunc(file_size, chunk_size)) orelse return error.Overflow;
10 const actual_num_chunks = if (@rem(file_size, chunk_size) > 0) num_chunks + 1 else num_chunks;
1111
1212 const hashes = try comp.gpa.alloc([Md5.digest_length]u8, actual_num_chunks);
1313 defer comp.gpa.free(hashes);