diff options
author | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-28 00:45:08 +0000 |
---|---|---|
committer | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-28 00:45:08 +0000 |
commit | 219d1a6b592cfcb4028b4ff58bb3b4bb4e1684ec (patch) | |
tree | aee53daa006731931e148338f5fdcdc06db2ed24 /chrome_frame/chrome_frame.gyp | |
parent | f24cd4f823335a899eba16aafe28d56f907f4b33 (diff) | |
download | chromium_src-219d1a6b592cfcb4028b4ff58bb3b4bb4e1684ec.zip chromium_src-219d1a6b592cfcb4028b4ff58bb3b4bb4e1684ec.tar.gz chromium_src-219d1a6b592cfcb4028b4ff58bb3b4bb4e1684ec.tar.bz2 |
Add an ExceptionBarrier around outbound calls to patched methods in IE. In so doing, we have an SEH present in the SEH chain and so the VEH won't erroneously report crashes that occur in other modules when we happen to be on the stack.
BUG=42660
TEST=Less false positives in the crash reports.
Review URL: http://codereview.chromium.org/1733021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45764 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_frame.gyp')
-rw-r--r-- | chrome_frame/chrome_frame.gyp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/chrome_frame/chrome_frame.gyp b/chrome_frame/chrome_frame.gyp index 245bd3f..a5c86d6 100644 --- a/chrome_frame/chrome_frame.gyp +++ b/chrome_frame/chrome_frame.gyp @@ -647,6 +647,9 @@ 'com_type_info_holder.h', 'delete_chrome_history.cc', 'delete_chrome_history.h', + 'exception_barrier.cc', + 'exception_barrier.h', + 'exception_barrier_lowlevel.asm', 'find_dialog.cc', 'find_dialog.h', 'function_stub.h', @@ -705,6 +708,31 @@ ], },], ], + 'rules': [ + { + 'rule_name': 'Assemble', + 'extension': 'asm', + 'inputs': [], + 'outputs': [ + '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).obj', + ], + 'action': [ + 'ml', + '/safeseh', + '/Fo', '<(INTERMEDIATE_DIR)\<(RULE_INPUT_ROOT).obj', + '/c', '<(RULE_INPUT_PATH)', + ], + 'process_outputs_as_sources': 0, + 'message': 'Assembling <(RULE_INPUT_PATH) to <(INTERMEDIATE_DIR)\<(RULE_INPUT_ROOT).obj.', + }, + ], + 'msvs_settings': { + 'VCLinkerTool': { + 'AdditionalOptions': [ + '/safeseh', + ], + }, + }, }, { 'target_name': 'npchrome_frame', |