llvm-project/compiler-rt/lib/interception
Etienne Bergeron 7a1bafd6ae This patch attempts to primitive support for Win64 asan
Some known issues are:

When "head" include instructions that involve branching, the "cut and paste" approach may break down in a way that function interception still work but calling back the original function does not work.
The jmp [rip -8] saves some bytes in the "head" but finding the safe zone of 0xCC is not implemented yet. So it may stomp on preceding codes.
The shadow offset is not working yet on Win64. More complexity maybe involved since there are some differences regarding virtual address space between Window 8 and Windows 8.1/10.

Patch by: Wang Wei

Differential Revision: http://reviews.llvm.org/D20884

llvm-svn: 271915
2016-06-06 18:09:54 +00:00
..
.clang-format Tell clang-format that (most) sanitizers are written using Google style guide. 2015-11-19 22:11:10 +00:00
CMakeLists.txt [cmake] Address Samsonov's post-commit review of r262723 2016-03-05 10:01:04 +00:00
interception.h [ASan] NFC: Factor out platform-specific interceptors 2015-03-16 14:22:53 +00:00
interception_linux.cc [sanitizer] Interception macros for sanitizers on FreeBSD; patch by Viktor Kutuzov 2014-02-24 08:37:41 +00:00
interception_linux.h [asan] Versioned interceptor for pthread_create. 2015-09-22 21:34:44 +00:00
interception_mac.cc [ASan] Delete the code related to static runtime on OS X. 2013-02-05 15:57:12 +00:00
interception_mac.h Make some pthread_mutex_* and pthread_cond_* interceptors common. 2013-10-16 08:20:31 +00:00
interception_type_test.cc PR16532: work around old GCC bug in interception_type_test.cc 2013-12-05 13:29:46 +00:00
interception_win.cc This patch attempts to primitive support for Win64 asan 2016-06-06 18:09:54 +00:00
interception_win.h [asan] Intercept all Heap* related imports from ucrtbase.dll 2016-03-24 20:19:48 +00:00