[all-commits] [llvm/llvm-project] 0b01b9: [LLD][COFF] Deduplicate common chunks when linking...
Joshua Cranmer via All-commits
all-commits at lists.llvm.org
Fri Oct 24 13:08:11 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0b01b96864983c4b150776b869a3d048b0d50e2c
https://github.com/llvm/llvm-project/commit/0b01b96864983c4b150776b869a3d048b0d50e2c
Author: Joshua Cranmer <joshua.cranmer at intel.com>
Date: 2025-10-24 (Fri, 24 Oct 2025)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Symbols.h
M lld/COFF/Writer.cpp
A lld/test/COFF/common-dedup.ll
Log Message:
-----------
[LLD][COFF] Deduplicate common chunks when linking COFF files. (#162553)
This fixes [issue
162148](https://github.com/llvm/llvm-project/issues/162148).
Common symbols are intended to have only a single version of the data
present in the final executable. The MSVC linker is able to successfully
deduplicate these chunks. If you have an application with a large number
of translation units with a large block of common data (this is
possible, for example, with Fortran code), then failing to deduplicate
these chunks can make the data size so large that the resulting
executable fails to load.
The logic in this patch doesn't catch all of the potential cases for
deduplication, but it should catch the most common ones.
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