From dc24dfdf83e70db531ca2dcb1d9a304415951400 Mon Sep 17 00:00:00 2001 From: sebmarchand Date: Mon, 17 Oct 2016 14:01:35 -0700 Subject: [PATCH] Remove the syzygy optimization code. BUG=651078 Review-Url: https://codereview.chromium.org/2420943002 Cr-Commit-Position: refs/heads/master@{#425775} --- BUILD.gn | 3 +- build/config/compiler/compiler.gni | 7 ---- build/win/syzygy/syzygy.gni | 51 ------------------------ chrome/installer/mini_installer/BUILD.gn | 2 +- chrome/tools/build/win/FILES.cfg | 18 ++------- chrome/tools/build/win/syzygy/BUILD.gn | 26 +----------- 6 files changed, 6 insertions(+), 101 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index dd4aa36f3de06c..0fa9b598754c23 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -151,9 +151,8 @@ if (is_win) { ] } - # TODO(sebmarchand): Remove this once we stop supporting Syzygy (M54+). group("All_syzygy") { - if (is_syzyasan || syzygy_optimize) { + if (is_syzyasan) { deps = [ "//chrome/installer/mini_installer:mini_installer", "//chrome/installer/mini_installer:mini_installer_syzygy", diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni index 5a4f99c223fbb4..b77b645ce8ddba 100644 --- a/build/config/compiler/compiler.gni +++ b/build/config/compiler/compiler.gni @@ -64,13 +64,6 @@ declare_args() { } } -declare_args() { - # Generate Syzygy optimized binaries. Syzygy optimize mode is a profile - # guided optimization that reorders code for better locality. - syzygy_optimize = is_win && target_cpu == "x86" && is_official_build && - !is_clang && !is_win_fastlink && !is_syzyasan -} - declare_args() { # Whether to use the gold linker from binutils instead of lld or bfd. use_gold = !use_lld && !(is_chromecast && is_linux && diff --git a/build/win/syzygy/syzygy.gni b/build/win/syzygy/syzygy.gni index 1ae2ebef828b47..1a45e866f8851c 100644 --- a/build/win/syzygy/syzygy.gni +++ b/build/win/syzygy/syzygy.gni @@ -7,57 +7,6 @@ assert(is_win) # Where the output binaries will be placed. syzygy_dest_dir = "$root_out_dir/syzygy" -# Generates a Syzygy optimize target. -# -# binary_name (required) -# Name of the binary to be instrumented, with no extension or path. This -# binary_name is assumed to be in the output directory and must be -# generated by a dependency of this target. -# -# deps (required) -# Normal meaning. -# -# data_deps -# Normal meaning. -template("syzygy_optimize") { - action(target_name) { - if (defined(invoker.visibility)) { - visibility = invoker.visibility - } - script = "//build/win/syzygy/reorder.py" - - binary_name = invoker.binary_name - input_dll = "$root_out_dir/$binary_name" - input_pdb = "$root_out_dir/$binary_name.pdb" - - inputs = [ - input_dll, - #input_pdb, - ] - - outputs = [ - "$syzygy_dest_dir/$binary_name", - "$syzygy_dest_dir/$binary_name.pdb", - ] - - args = [ - "--input_executable", - rebase_path(input_dll, root_build_dir), - "--input_symbol", - rebase_path(input_pdb, root_build_dir), - "--destination_dir", - rebase_path(syzygy_dest_dir, root_build_dir), - ] - - forward_variables_from(invoker, - [ - "deps", - "data_deps", - "public_deps", - ]) - } -} - # Instruments a binary with SyzyAsan. # # binary_name (required) diff --git a/chrome/installer/mini_installer/BUILD.gn b/chrome/installer/mini_installer/BUILD.gn index 6994618330ffd1..3f379feecf799b 100644 --- a/chrome/installer/mini_installer/BUILD.gn +++ b/chrome/installer/mini_installer/BUILD.gn @@ -263,7 +263,7 @@ generate_mini_installer("mini_installer") { chrome_dll_target = "//chrome:main_dll" } -if (syzygy_optimize || is_syzyasan) { +if (is_syzyasan) { generate_mini_installer("mini_installer_syzygy") { out_dir = "$root_out_dir/syzygy/" chrome_dll_file = "$root_out_dir/syzygy/chrome.dll" diff --git a/chrome/tools/build/win/FILES.cfg b/chrome/tools/build/win/FILES.cfg index 4885bf5c00a688..163f0b86994ef5 100644 --- a/chrome/tools/build/win/FILES.cfg +++ b/chrome/tools/build/win/FILES.cfg @@ -438,25 +438,13 @@ FILES = [ # Syzygy modified binaries and related files. Only add to this section if you # know what you're doing! The build configuration has to be modified to run # Syzygy on the target in question before adding a staging dependency here! - { - 'filename': 'chrome.dll-order.json', - 'arch': ['32bit'], - 'buildtype': ['dev', 'official'], - 'optional': ['dev', 'official'], - }, - { - 'filename': 'chrome_child.dll-order.json', - 'arch': ['32bit'], - 'buildtype': ['dev', 'official'], - 'optional': ['dev', 'official'], - }, { 'filename': 'syzygy/chrome.dll', 'arch': ['32bit'], 'buildtype': ['dev', 'official'], 'archive': 'syzygy/chrome.dll', 'filegroup': ['symsrc'], - 'optional': ['dev'], + 'optional': ['dev', 'official'], }, { 'filename': 'syzygy/chrome_child.dll', @@ -480,14 +468,14 @@ FILES = [ 'buildtype': ['dev', 'official'], 'archive': 'syzygy/mini_installer.exe', 'filegroup': ['symsrc'], - 'optional': ['dev'], + 'optional': ['dev', 'official'], }, { 'filename': 'syzygy/chrome.packed.7z', 'arch': ['32bit'], 'buildtype': ['dev', 'official'], 'archive': 'syzygy/chrome.packed.7z', - 'optional': ['dev'], + 'optional': ['dev', 'official'], }, { 'filename': 'syzygy/syzyasan_rtl.dll', diff --git a/chrome/tools/build/win/syzygy/BUILD.gn b/chrome/tools/build/win/syzygy/BUILD.gn index 3efec8f7b5a1fd..08139f1bb3f592 100644 --- a/chrome/tools/build/win/syzygy/BUILD.gn +++ b/chrome/tools/build/win/syzygy/BUILD.gn @@ -7,34 +7,10 @@ import("//build/config/compiler/compiler.gni") import("//build/config/sanitizers/sanitizers.gni") import("//build/win/syzygy/syzygy.gni") -assert(!syzygy_optimize || !is_syzyasan, - "Don't do both syzygy_optimize and is_syzyasan") - # Where the output binaries will be placed. syzygy_dest_dir = "$root_out_dir/syzygy" -if (syzygy_optimize) { - syzygy_optimize("chrome_dll_syzygy") { - binary_name = "chrome.dll" - deps = [ - "//chrome:main_dll", - ] - if (is_multi_dll_chrome) { - data_deps = [ - ":chrome_child_dll_syzygy", - ] - } - } - if (is_multi_dll_chrome) { - # Also instrument chrome_child.dll. - syzygy_optimize("chrome_child_dll_syzygy") { - binary_name = "chrome_child.dll" - deps = [ - "//chrome:chrome_child", - ] - } - } -} else if (is_syzyasan) { +if (is_syzyasan) { syzygy_asan("chrome_dll_syzygy") { binary_name = "chrome.dll" dest_dir = syzygy_dest_dir