Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(646)

Side by Side Diff: syzygy/agent/asan/memory_interceptors.h

Issue 2321423002: Merge the latest changes to master in the vs2015 branch. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « syzygy/agent/asan/generate_memory_interceptors.py ('k') | syzygy/agent/asan/rtl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 Google Inc. All Rights Reserved. 1 // Copyright 2014 Google Inc. All Rights Reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 F(16, read_access, AsanReadAccess) \ 91 F(16, read_access, AsanReadAccess) \
92 F(32, read_access, AsanReadAccess) \ 92 F(32, read_access, AsanReadAccess) \
93 F(1, write_access, AsanWriteAccess) \ 93 F(1, write_access, AsanWriteAccess) \
94 F(2, write_access, AsanWriteAccess) \ 94 F(2, write_access, AsanWriteAccess) \
95 F(4, write_access, AsanWriteAccess) \ 95 F(4, write_access, AsanWriteAccess) \
96 F(8, write_access, AsanWriteAccess) \ 96 F(8, write_access, AsanWriteAccess) \
97 F(10, write_access, AsanWriteAccess) \ 97 F(10, write_access, AsanWriteAccess) \
98 F(16, write_access, AsanWriteAccess) \ 98 F(16, write_access, AsanWriteAccess) \
99 F(32, write_access, AsanWriteAccess) 99 F(32, write_access, AsanWriteAccess)
100 100
101 #define ASAN_STRING_INTERCEPT_FUNCTIONS(F) \ 101 #define ASAN_STRING_INTERCEPT_FUNCTIONS(F) \
102 F(cmps, _repz_, ecx, AsanReadAccess, AsanReadAccess, 4, 1) \ 102 F(cmps, _repz_, ecx, AsanReadAccess, AsanReadAccess, 4, 1) \
103 F(cmps, _repz_, ecx, AsanReadAccess, AsanReadAccess, 2, 1) \ 103 F(cmps, _repz_, ecx, AsanReadAccess, AsanReadAccess, 2, 1) \
104 F(cmps, _repz_, ecx, AsanReadAccess, AsanReadAccess, 1, 1) \ 104 F(cmps, _repz_, ecx, AsanReadAccess, AsanReadAccess, 1, 1) \
105 F(cmps, _, 1, AsanReadAccess, AsanReadAccess, 4, 1) \ 105 F(cmps, _, 1, AsanReadAccess, AsanReadAccess, 4, 1) \
106 F(cmps, _, 1, AsanReadAccess, AsanReadAccess, 2, 1) \ 106 F(cmps, _, 1, AsanReadAccess, AsanReadAccess, 2, 1) \
107 F(cmps, _, 1, AsanReadAccess, AsanReadAccess, 1, 1) \ 107 F(cmps, _, 1, AsanReadAccess, AsanReadAccess, 1, 1) \
108 F(movs, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 4, 0) \ 108 F(lods, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 4, 0) \
109 F(movs, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 2, 0) \ 109 F(lods, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 2, 0) \
110 F(movs, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 1, 0) \ 110 F(lods, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 1, 0) \
111 F(movs, _, 1, AsanWriteAccess, AsanReadAccess, 4, 0) \ 111 F(lods, _, 1, AsanWriteAccess, AsanReadAccess, 4, 0) \
112 F(movs, _, 1, AsanWriteAccess, AsanReadAccess, 2, 0) \ 112 F(lods, _, 1, AsanWriteAccess, AsanReadAccess, 2, 0) \
113 F(movs, _, 1, AsanWriteAccess, AsanReadAccess, 1, 0) \ 113 F(lods, _, 1, AsanWriteAccess, AsanReadAccess, 1, 0) \
114 F(stos, _repz_, ecx, AsanWriteAccess, AsanUnknownAccess, 4, 0) \ 114 F(movs, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 4, 0) \
115 F(stos, _repz_, ecx, AsanWriteAccess, AsanUnknownAccess, 2, 0) \ 115 F(movs, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 2, 0) \
116 F(stos, _repz_, ecx, AsanWriteAccess, AsanUnknownAccess, 1, 0) \ 116 F(movs, _repz_, ecx, AsanWriteAccess, AsanReadAccess, 1, 0) \
117 F(stos, _, 1, AsanWriteAccess, AsanUnknownAccess, 4, 0) \ 117 F(movs, _, 1, AsanWriteAccess, AsanReadAccess, 4, 0) \
118 F(stos, _, 1, AsanWriteAccess, AsanUnknownAccess, 2, 0) \ 118 F(movs, _, 1, AsanWriteAccess, AsanReadAccess, 2, 0) \
119 F(stos, _, 1, AsanWriteAccess, AsanUnknownAccess, 1, 0) 119 F(movs, _, 1, AsanWriteAccess, AsanReadAccess, 1, 0) \
120 F(stos, _repz_, ecx, AsanWriteAccess, AsanUnknownAccess, 4, 0) \
121 F(stos, _repz_, ecx, AsanWriteAccess, AsanUnknownAccess, 2, 0) \
122 F(stos, _repz_, ecx, AsanWriteAccess, AsanUnknownAccess, 1, 0) \
123 F(stos, _, 1, AsanWriteAccess, AsanUnknownAccess, 4, 0) \
124 F(stos, _, 1, AsanWriteAccess, AsanUnknownAccess, 2, 0) \
125 F(stos, _, 1, AsanWriteAccess, AsanUnknownAccess, 1, 0)
120 126
121 } // namespace asan 127 } // namespace asan
122 } // namespace agent 128 } // namespace agent
123 129
124 extern "C" { 130 extern "C" {
125 131
126 // The no-op memory access checker. 132 // The no-op memory access checker.
127 void asan_no_check(); 133 void asan_no_check();
128 134
129 // The no-op string instruction memory access checker. 135 // The no-op string instruction memory access checker.
(...skipping 26 matching lines...) Expand all
156 162
157 // Declare all the string instruction interceptor functions. Note that these 163 // Declare all the string instruction interceptor functions. Note that these
158 // functions have a custom calling convention, and can't be invoked directly. 164 // functions have a custom calling convention, and can't be invoked directly.
159 ASAN_STRING_INTERCEPT_FUNCTIONS(DECLARE_STRING_INTERCEPT_FUNCTIONS) 165 ASAN_STRING_INTERCEPT_FUNCTIONS(DECLARE_STRING_INTERCEPT_FUNCTIONS)
160 166
161 #undef DECLARE_STRING_INTERCEPT_FUNCTIONS 167 #undef DECLARE_STRING_INTERCEPT_FUNCTIONS
162 168
163 } // extern "C" 169 } // extern "C"
164 170
165 #endif // SYZYGY_AGENT_ASAN_MEMORY_INTERCEPTORS_H_ 171 #endif // SYZYGY_AGENT_ASAN_MEMORY_INTERCEPTORS_H_
OLDNEW
« no previous file with comments | « syzygy/agent/asan/generate_memory_interceptors.py ('k') | syzygy/agent/asan/rtl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698