1 : // Copyright 2014 Google Inc. All Rights Reserved.
2 : //
3 : // Licensed under the Apache License, Version 2.0 (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
6 : //
7 : // http://www.apache.org/licenses/LICENSE-2.0
8 : //
9 : // Unless required by applicable law or agreed to in writing, software
10 : // distributed under the License is distributed on an "AS IS" BASIS,
11 : // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 : // See the License for the specific language governing permissions and
13 : // limitations under the License.
14 : //
15 : // Implementations of Asan-specific functions. These are stubs that don't
16 : // actually do anything, but are necessary for ABI compatibility.
17 :
18 : #include <windows.h>
19 :
20 m : namespace agent {
21 m : namespace asan {
22 m : struct AsanErrorInfo; // Forward declaration.
23 m : } // namespace asan
24 m : } // namespace agent
25 :
26 m : namespace {
27 m : typedef void (*AsanErrorCallBack)(agent::asan::AsanErrorInfo*);
28 m : } // namespace
29 :
30 m : extern "C" {
31 :
32 m : void WINAPI asan_SetCallBack(AsanErrorCallBack callback) {
33 m : return;
34 m : }
35 :
36 m : void __declspec(naked) asan_SetAllocationFilterFlag() {
37 m : __asm ret
38 m : }
39 :
40 m : void __declspec(naked) asan_ClearAllocationFilterFlag() {
41 m : __asm ret
42 m : }
43 :
44 m : int asan_CrashForException(EXCEPTION_POINTERS* exception) {
45 m : return EXCEPTION_CONTINUE_SEARCH;
46 m : }
47 :
48 m : } // extern "C"
|