]>
Commit | Line | Data |
---|---|---|
2c00a5a8 XL |
1 | //===-- ubsan_win_weak_interception.cc ------------------------------------===// |
2 | // | |
3 | // The LLVM Compiler Infrastructure | |
4 | // | |
5 | // This file is distributed under the University of Illinois Open Source | |
6 | // License. See LICENSE.TXT for details. | |
7 | // | |
8 | //===----------------------------------------------------------------------===// | |
9 | // This module should be included in Ubsan when it is implemented as a shared | |
10 | // library on Windows (dll), in order to delegate the calls of weak functions to | |
11 | // the implementation in the main executable when a strong definition is | |
12 | // provided. | |
13 | //===----------------------------------------------------------------------===// | |
14 | #ifdef SANITIZER_DYNAMIC | |
15 | #include "sanitizer_common/sanitizer_win_weak_interception.h" | |
16 | #include "ubsan_flags.h" | |
17 | // Check if strong definitions for weak functions are present in the main | |
18 | // executable. If that is the case, override dll functions to point to strong | |
19 | // implementations. | |
20 | #define INTERFACE_FUNCTION(Name) | |
21 | #define INTERFACE_WEAK_FUNCTION(Name) INTERCEPT_SANITIZER_WEAK_FUNCTION(Name) | |
22 | #include "ubsan_interface.inc" | |
23 | #endif // SANITIZER_DYNAMIC |