Chromium Code Reviews| Index: chrome/chrome_syzygy.gyp |
| diff --git a/chrome/chrome_syzygy.gyp b/chrome/chrome_syzygy.gyp |
| index 07c25ded410f50f524f1d7db97e7efb470bd49c1..f69b4abbc1b9418768af2c4fcc836cea89e03f48 100644 |
| --- a/chrome/chrome_syzygy.gyp |
| +++ b/chrome/chrome_syzygy.gyp |
| @@ -4,11 +4,9 @@ |
| { |
| 'conditions': [ |
| ['OS=="win" and fastbuild==0', { |
| - # Reorder the initial chrome DLL executable, placing the optimized |
| - # output and corresponding PDB file into the "syzygy" subdirectory. |
| - # If there's a matching chrome.dll-ordering.json file present in |
| - # the output directory, chrome.dll will be ordered according to that, |
| - # otherwise it will be randomized. |
| + # Reorder or instrument the initial chrome DLL executable, placing the |
| + # optimized output and corresponding PDB file into the "syzygy" |
| + # subdirectory. |
| # This target won't build in fastbuild, since there are no PDBs. |
| 'targets': [ |
| { |
| @@ -21,26 +19,61 @@ |
| 'variables': { |
| 'dest_dir': '<(PRODUCT_DIR)\\syzygy', |
| }, |
| - 'actions': [ |
| - { |
| - 'action_name': 'Reorder Chrome with Syzygy', |
| - 'msvs_cygwin_shell': 0, |
| - 'inputs': [ |
| - '<(PRODUCT_DIR)\\chrome.dll', |
| - '<(PRODUCT_DIR)\\chrome.dll.pdb', |
| + 'conditions': [ |
| + ['asan!=1', { |
| + # Reorder chrome DLL executable. |
| + # If there's a matching chrome.dll-ordering.json file present in |
| + # the output directory, chrome.dll will be ordered according to |
| + # that, otherwise it will be randomized. |
| + 'actions': [ |
| + { |
| + 'action_name': 'Reorder Chrome with Syzygy', |
| + 'msvs_cygwin_shell': 0, |
| + 'inputs': [ |
| + '<(PRODUCT_DIR)\\chrome.dll', |
| + '<(PRODUCT_DIR)\\chrome.dll.pdb', |
| + ], |
| + 'outputs': [ |
| + '<(dest_dir)\\chrome.dll', |
| + '<(dest_dir)\\chrome.dll.pdb', |
| + ], |
| + 'action': [ |
| + 'python', |
| + '<(DEPTH)/chrome/tools/build/win/syzygy_reorder.py', |
| + '--input_executable', '<(PRODUCT_DIR)\\chrome.dll', |
| + '--input_symbol', '<(PRODUCT_DIR)\\chrome.dll.pdb', |
| + '--destination_dir', '<(dest_dir)', |
| + ], |
| + }, |
| ], |
| - 'outputs': [ |
| - '<(dest_dir)\\chrome.dll', |
| - '<(dest_dir)\\chrome.dll.pdb', |
| + }], |
| + ['asan==1', { |
|
grt (UTC plus 2)
2013/02/06 14:15:43
instead of a new condition, put this in the 'else'
Sébastien Marchand
2013/02/06 19:32:58
Done.
|
| + # Instrument chrome DLL executable with SyzyAsan. |
| + 'actions': [ |
| + { |
| + 'action_name': 'Instrument Chrome with SyzyAsan', |
| + 'msvs_cygwin_shell': 0, |
| + 'inputs': [ |
| + '<(PRODUCT_DIR)\\chrome.dll', |
| + '<(PRODUCT_DIR)\\chrome.dll.pdb', |
| + ], |
| + 'outputs': [ |
| + '<(dest_dir)\\chrome.dll', |
| + '<(dest_dir)\\chrome.dll.pdb', |
| + ], |
| + 'action': [ |
| + 'python', |
| + '<(DEPTH)/chrome/tools/build/win/syzygy_instrument.py', |
| + '--mode', 'asan', |
| + '--agent_dll', '<(DEPTH)\\third_party\\syzygy\\binaries' |
| + '\\exe\\asan_rtl.dll', |
| + '--input_executable', '<(PRODUCT_DIR)\\chrome.dll', |
| + '--input_symbol', '<(PRODUCT_DIR)\\chrome.dll.pdb', |
| + '--destination_dir', '<(dest_dir)', |
| + ], |
| + }, |
| ], |
| - 'action': [ |
| - 'python', |
| - '<(DEPTH)/chrome/tools/build/win/syzygy_reorder.py', |
| - '--input_executable', '<(PRODUCT_DIR)\\chrome.dll', |
| - '--input_symbol', '<(PRODUCT_DIR)\\chrome.dll.pdb', |
| - '--destination_dir', '<(dest_dir)', |
| - ], |
| - }, |
| + }], |
| ], |
| }, |
| ], |