[lld-macho] Use fixed chunk size for UUID
Chunk size decided by the thread count makes the UUID less deterministic (e.g. across machines with different core counts.) Follow ELF and just use a fixed chunksize. Fixes: https://github.com/llvm/llvm-project/issues/63961 Reviewed By: #lld-macho, keith Differential Revision: https://reviews.llvm.org/D155761
This commit is contained in:
parent
fc5dcb0c22
commit
359f170f5f
@ -1182,10 +1182,7 @@ void Writer::writeUuid() {
|
||||
TimeTraceScope timeScope("Computing UUID");
|
||||
|
||||
ArrayRef<uint8_t> data{buffer->getBufferStart(), buffer->getBufferEnd()};
|
||||
unsigned chunkCount = parallel::strategy.compute_thread_count() * 10;
|
||||
// Round-up integer division
|
||||
size_t chunkSize = (data.size() + chunkCount - 1) / chunkCount;
|
||||
std::vector<ArrayRef<uint8_t>> chunks = split(data, chunkSize);
|
||||
std::vector<ArrayRef<uint8_t>> chunks = split(data, 1024 * 1024);
|
||||
// Leave one slot for filename
|
||||
std::vector<uint64_t> hashes(chunks.size() + 1);
|
||||
SmallVector<std::shared_future<void>> threadFutures;
|
||||
|
Loading…
x
Reference in New Issue
Block a user