Home | History | Annotate | Line # | Download | only in asan
      1 //===-- asan_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 Address Sanitizer when it is implemented as
     10 // a shared library on Windows (dll), in order to delegate the calls of weak
     11 // functions to the implementation in the main executable when a strong
     12 // definition is provided.
     13 //===----------------------------------------------------------------------===//
     14 #ifdef SANITIZER_DYNAMIC
     15 #include "sanitizer_common/sanitizer_win_weak_interception.h"
     16 #include "asan_interface_internal.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 "asan_interface.inc"
     23 #endif // SANITIZER_DYNAMIC
     24