aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Volkman <jeremy@jvolkman.com>2024-01-05 00:55:59 -0800
committerJakub Konka <kubkon@jakubkonka.com>2024-01-08 10:23:07 +0100
commit8fd15c6ca8b93fa9888e2641ebec149f6d600643 (patch)
treee9b996bdb27247754046c962e18e3757cab87fdd /src
parentf5978181e41e272b5c272440b9c543ead0357e2e (diff)
downloadzig-8fd15c6ca8b93fa9888e2641ebec149f6d600643.tar.gz
zig-8fd15c6ca8b93fa9888e2641ebec149f6d600643.zip
Use a fixed chunk size when calculating MachO UUID
Diffstat (limited to 'src')
-rw-r--r--src/link/MachO/uuid.zig6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/link/MachO/uuid.zig b/src/link/MachO/uuid.zig
index 7b2e200cce..6d60397149 100644
--- a/src/link/MachO/uuid.zig
+++ b/src/link/MachO/uuid.zig
@@ -5,9 +5,9 @@
/// TODO LLD also hashes the output filename to disambiguate between same builds with different
/// output files. Should we also do that?
pub fn calcUuid(comp: *const Compilation, file: fs.File, file_size: u64, out: *[Md5.digest_length]u8) !void {
- const num_chunks = @max(comp.thread_pool.threads.len, 1) * 0x10;
- const chunk_size = @divTrunc(file_size, num_chunks);
- const actual_num_chunks = if (@rem(file_size, num_chunks) > 0) num_chunks + 1 else num_chunks;
+ const chunk_size: usize = 1024 * 1024;
+ const num_chunks: usize = std.math.cast(usize, @divTrunc(file_size, chunk_size)) orelse return error.Overflow;
+ const actual_num_chunks = if (@rem(file_size, chunk_size) > 0) num_chunks + 1 else num_chunks;
const hashes = try comp.gpa.alloc([Md5.digest_length]u8, actual_num_chunks);
defer comp.gpa.free(hashes);