[sanitizers] [windows] Use a linker directive pragma for psapi
This allows users of static libraries (such as ubsan) to link without knowing about this transitive dependency, if using the psapi functions that require linking to a separate psapi library. Since Windows 7, these functions (EnumProcessModules, GetModuleInformation, GetProcessMemoryInfo) are remapped to K32- prefixed ones, available in kernel32.dll. Differential Revision: https://reviews.llvm.org/D53012 llvm-svn: 344126
This commit is contained in:
parent
3cd67c9e3b
commit
f0c286f8fb
|
|
@ -100,7 +100,6 @@ append_list_if(COMPILER_RT_HAS_LIBM m ASAN_DYNAMIC_LIBS)
|
|||
append_list_if(COMPILER_RT_HAS_LIBPTHREAD pthread ASAN_DYNAMIC_LIBS)
|
||||
append_list_if(COMPILER_RT_HAS_LIBLOG log ASAN_DYNAMIC_LIBS)
|
||||
append_list_if(MINGW "${MINGW_LIBRARIES}" ASAN_DYNAMIC_LIBS)
|
||||
append_list_if(MINGW psapi ASAN_DYNAMIC_LIBS)
|
||||
|
||||
# Compile ASan sources into an object library.
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,10 @@
|
|||
#include "sanitizer_placement_new.h"
|
||||
#include "sanitizer_win_defs.h"
|
||||
|
||||
#if defined(PSAPI_VERSION) && PSAPI_VERSION == 1
|
||||
#pragma comment(lib, "psapi")
|
||||
#endif
|
||||
|
||||
// A macro to tell the compiler that this part of the code cannot be reached,
|
||||
// if the compiler supports this feature. Since we're using this in
|
||||
// code that is called when terminating the process, the expansion of the
|
||||
|
|
|
|||
Loading…
Reference in New Issue