OLD | NEW |
1 # Windows Split DLLs | 1 # Windows Split DLLs |
2 | 2 |
3 A build mode where chrome.dll is split into two separate DLLs. This was | 3 A build mode where chrome.dll is split into two separate DLLs. This was |
4 undertaken as one possible workaround for toolchain limitations on Windows. | 4 undertaken as one possible workaround for toolchain limitations on Windows. |
5 | 5 |
6 ## How | 6 ## How |
7 | 7 |
8 Normally, you probably don't need to worry about doing this build. If for some | 8 Normally, you probably don't need to worry about doing this build. If for some |
9 reason you need to build it locally: | 9 reason you need to build it locally: |
10 | 10 |
(...skipping 28 matching lines...) Expand all Loading... |
39 | 39 |
40 ## Details | 40 ## Details |
41 | 41 |
42 This forcible split is implemented by putting .lib files in either one DLL or | 42 This forcible split is implemented by putting .lib files in either one DLL or |
43 the other, and causing unresolved externals that result during linking to be | 43 the other, and causing unresolved externals that result during linking to be |
44 forcibly exported from the other DLL. This works relatively cleanly for function | 44 forcibly exported from the other DLL. This works relatively cleanly for function |
45 import/export, however it cannot work for data export. | 45 import/export, however it cannot work for data export. |
46 | 46 |
47 There are relatively few instances where data exports are required across the | 47 There are relatively few instances where data exports are required across the |
48 DLL boundary. The waterfall builder | 48 DLL boundary. The waterfall builder |
49 http://build.chromium.org/p/chromium/waterfall?show=Win%20Split will detect when | 49 https://build.chromium.org/p/chromium/waterfall?show=Win%20Split will detect whe
n |
50 new data exports are added, and these will need to be repaired. For constants, | 50 new data exports are added, and these will need to be repaired. For constants, |
51 the data can be duplicated to both DLLs, but for writeable data, a wrapping | 51 the data can be duplicated to both DLLs, but for writeable data, a wrapping |
52 set/get function will need to be added. | 52 set/get function will need to be added. |
53 | 53 |
54 http://build.chromium.org/p/chromium/waterfall?show=Win%20Split does not exist. | 54 https://build.chromium.org/p/chromium/waterfall?show=Win%20Split does not exist. |
55 | 55 |
56 Some more details can be found on the initial commit of the split_link script | 56 Some more details can be found on the initial commit of the split_link script |
57 http://src.chromium.org/viewvc/chrome?revision=200049&view=revision and the | 57 https://src.chromium.org/viewvc/chrome?revision=200049&view=revision and the |
58 associated bugs: http://crbug.com/237249 http://crbug.com/237267. | 58 associated bugs: https://crbug.com/237249 https://crbug.com/237267. |
OLD | NEW |