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 |