Commit fc1e2979 authored by Hans Wennborg's avatar Hans Wennborg Committed by Commit Bot

Win/Clang: Use order files for linking {chrome,chrome_child}.dll

Bug: 728324
Change-Id: Id007d43ea6468ce3ed8601c4e848861c224ef578
Reviewed-on: https://chromium-review.googlesource.com/529684
Commit-Queue: Hans Wennborg <hans@chromium.org>
Reviewed-by: default avatarNico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#478747}
parent 2ccf33bf
...@@ -69,6 +69,10 @@ vs-chromium-project.txt ...@@ -69,6 +69,10 @@ vs-chromium-project.txt
/cdm /cdm
/ceee/internal/ /ceee/internal/
/chrome/angle_unittests_run.xml /chrome/angle_unittests_run.xml
/chrome/build/chrome.x64.orderfile
/chrome/build/chrome.x86.orderfile
/chrome/build/chrome_child.x64.orderfile
/chrome/build/chrome_child.x86.orderfile
/chrome/content_gl_tests_run.xml /chrome/content_gl_tests_run.xml
/chrome/gl_tests_run.xml /chrome/gl_tests_run.xml
/chrome/gles2_conform_test_run.xml /chrome/gles2_conform_test_run.xml
......
...@@ -738,6 +738,19 @@ hooks = [ ...@@ -738,6 +738,19 @@ hooks = [
'-s', 'src/buildtools/linux64/clang-format.sha1', '-s', 'src/buildtools/linux64/clang-format.sha1',
], ],
}, },
# Pull order files for the win/clang build.
{
'name': 'orderfiles_win',
'pattern': '.',
'action': [ 'python',
'src/third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--platform=win32',
'--no_auth',
'--bucket', 'chromium-browser-clang/orderfiles',
'-d', 'src/chrome/build',
],
},
# Pull luci-go binaries (isolate, swarming) using checked-in hashes. # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
{ {
'name': 'luci-go_win', 'name': 'luci-go_win',
......
...@@ -452,6 +452,22 @@ if (is_win) { ...@@ -452,6 +452,22 @@ if (is_win) {
if (enable_package_mash_services) { if (enable_package_mash_services) {
deps += embedded_mash_service_deps deps += embedded_mash_service_deps
} }
if (is_clang && is_official_build && !use_lld) {
orderfile = "build/chrome.$target_cpu.orderfile"
rebased_orderfile = rebase_path(orderfile, root_build_dir)
inputs = [
orderfile,
]
ldflags += [
"/order:@$rebased_orderfile",
# Ignore warnings about missing functions or functions not in their
# own section.
"/ignore:4037",
"/ignore:4065",
]
}
} }
if (is_multi_dll_chrome) { if (is_multi_dll_chrome) {
...@@ -500,6 +516,22 @@ if (is_win) { ...@@ -500,6 +516,22 @@ if (is_win) {
"/DELAYLOAD:wininet.dll", "/DELAYLOAD:wininet.dll",
] ]
if (is_clang && is_official_build && !use_lld) {
orderfile = "build/chrome_child.$target_cpu.orderfile"
rebased_orderfile = rebase_path(orderfile, root_build_dir)
inputs = [
orderfile,
]
ldflags += [
"/order:@$rebased_orderfile",
# Ignore warnings about missing functions or functions not in their
# own section.
"/ignore:4037",
"/ignore:4065",
]
}
if (symbol_level == 2) { if (symbol_level == 2) {
# Incremental linking doesn't work on this target in debug mode with # Incremental linking doesn't work on this target in debug mode with
# full symbols, but does work in other cases, including minimal # full symbols, but does work in other cases, including minimal
......
hans@chromium.org
thakis@chromium.org
How to create the order files
=============================
TODO(hans): Add proper instructions here.
The current order files were created with this hack:
https://codereview.chromium.org/2924093003
9ae828ec3366bbc58046f009b5195552e1dc3030
\ No newline at end of file
c30ec6aff8e403cc42964c6a18ffbdf7de85d4a8
\ No newline at end of file
389514001c89d7e6049527396cd7624b15dc2456
\ No newline at end of file
e9133bf86f174c1eb4096de82d39bd83c3d4a6d4
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment