
Bug: 826218 Change-Id: I176e1aeb0b24b21c6b4e5ee40910dce2bce52c95 Reviewed-on: https://chromium-review.googlesource.com/1239461 Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: Daniel Bratell <bratell@opera.com> Cr-Commit-Position: refs/heads/master@{#593522}
23 lines
875 B
Markdown
23 lines
875 B
Markdown
# Windows Split DLLs
|
|
|
|
A build mode where chrome.dll is split into two separate DLLs. This was
|
|
undertaken as one possible workaround for toolchain limitations on Windows.
|
|
|
|
## How
|
|
|
|
Split DLL is now default on Windows and controlled by the
|
|
`is_multi_dll_chrome` gn variable.
|
|
|
|
`is_multi_dll_chrome` applies only to chrome.dll (and not test binaries).
|
|
|
|
## Details
|
|
|
|
This forcible split is implemented by putting .lib files in either one DLL or
|
|
the other, and causing unresolved externals that result during linking to be
|
|
forcibly exported from the other DLL. This works relatively cleanly for function
|
|
import/export, however it cannot work for data export.
|
|
|
|
Some more details can be found on the initial commit of the split_link script
|
|
https://src.chromium.org/viewvc/chrome?revision=200049&view=revision and the
|
|
associated bugs: https://crbug.com/237249 https://crbug.com/237267.
|