| OLD | NEW |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 assert(is_win) | 5 assert(is_win) |
| 6 | 6 |
| 7 # Where the output binaries will be placed. | 7 # Where the output binaries will be placed. |
| 8 syzygy_dest_dir = "$root_out_dir/syzygy" | 8 syzygy_dest_dir = "$root_out_dir/syzygy" |
| 9 | 9 |
| 10 # Generates a Syzygy optimize target. | |
| 11 # | |
| 12 # binary_name (required) | |
| 13 # Name of the binary to be instrumented, with no extension or path. This | |
| 14 # binary_name is assumed to be in the output directory and must be | |
| 15 # generated by a dependency of this target. | |
| 16 # | |
| 17 # deps (required) | |
| 18 # Normal meaning. | |
| 19 # | |
| 20 # data_deps | |
| 21 # Normal meaning. | |
| 22 template("syzygy_optimize") { | |
| 23 action(target_name) { | |
| 24 if (defined(invoker.visibility)) { | |
| 25 visibility = invoker.visibility | |
| 26 } | |
| 27 script = "//build/win/syzygy/reorder.py" | |
| 28 | |
| 29 binary_name = invoker.binary_name | |
| 30 input_dll = "$root_out_dir/$binary_name" | |
| 31 input_pdb = "$root_out_dir/$binary_name.pdb" | |
| 32 | |
| 33 inputs = [ | |
| 34 input_dll, | |
| 35 #input_pdb, | |
| 36 ] | |
| 37 | |
| 38 outputs = [ | |
| 39 "$syzygy_dest_dir/$binary_name", | |
| 40 "$syzygy_dest_dir/$binary_name.pdb", | |
| 41 ] | |
| 42 | |
| 43 args = [ | |
| 44 "--input_executable", | |
| 45 rebase_path(input_dll, root_build_dir), | |
| 46 "--input_symbol", | |
| 47 rebase_path(input_pdb, root_build_dir), | |
| 48 "--destination_dir", | |
| 49 rebase_path(syzygy_dest_dir, root_build_dir), | |
| 50 ] | |
| 51 | |
| 52 forward_variables_from(invoker, | |
| 53 [ | |
| 54 "deps", | |
| 55 "data_deps", | |
| 56 "public_deps", | |
| 57 ]) | |
| 58 } | |
| 59 } | |
| 60 | |
| 61 # Instruments a binary with SyzyAsan. | 10 # Instruments a binary with SyzyAsan. |
| 62 # | 11 # |
| 63 # binary_name (required) | 12 # binary_name (required) |
| 64 # Name of the binary to be instrumented, with no extension or path. This | 13 # Name of the binary to be instrumented, with no extension or path. This |
| 65 # binary_name is assumed to be in the output directory and must be | 14 # binary_name is assumed to be in the output directory and must be |
| 66 # generated by a dependency of this target. | 15 # generated by a dependency of this target. |
| 67 # | 16 # |
| 68 # dest_dir (required) | 17 # dest_dir (required) |
| 69 # The destination directory where the instrumented image should be | 18 # The destination directory where the instrumented image should be |
| 70 # written. | 19 # written. |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 deps += invoker.deps | 77 deps += invoker.deps |
| 129 } | 78 } |
| 130 forward_variables_from(invoker, | 79 forward_variables_from(invoker, |
| 131 [ | 80 [ |
| 132 "data_deps", | 81 "data_deps", |
| 133 "public_deps", | 82 "public_deps", |
| 134 "testonly", | 83 "testonly", |
| 135 ]) | 84 ]) |
| 136 } | 85 } |
| 137 } | 86 } |
| OLD | NEW |