forked from OSchip/llvm-project
Allow initialization of Asan interceptors before the general Asan initialization takes place on FreeBSD
Differential Revision: http://reviews.llvm.org/D4496 llvm-svn: 213941
This commit is contained in:
parent
2fde54f48c
commit
d712403b98
|
@ -148,6 +148,7 @@ DECLARE_REAL_AND_INTERCEPTOR(void, free, void *)
|
|||
#define COMMON_INTERCEPTOR_ON_EXIT(ctx) OnExit()
|
||||
#define COMMON_INTERCEPTOR_LIBRARY_LOADED(filename, res) CovUpdateMapping()
|
||||
#define COMMON_INTERCEPTOR_LIBRARY_UNLOADED() CovUpdateMapping()
|
||||
#define COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED (!asan_inited)
|
||||
#include "sanitizer_common/sanitizer_common_interceptors.inc"
|
||||
|
||||
#define COMMON_SYSCALL_PRE_READ_RANGE(p, s) ASAN_READ_RANGE(p, s)
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
// COMMON_INTERCEPTOR_MUTEX_REPAIR
|
||||
// COMMON_INTERCEPTOR_SET_PTHREAD_NAME
|
||||
// COMMON_INTERCEPTOR_HANDLE_RECVMSG
|
||||
// COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED
|
||||
//===----------------------------------------------------------------------===//
|
||||
#include "interception/interception.h"
|
||||
#include "sanitizer_addrhashmap.h"
|
||||
|
@ -89,6 +90,10 @@
|
|||
COMMON_INTERCEPTOR_ENTER(ctx, __VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#ifndef COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED
|
||||
#define COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED (0)
|
||||
#endif
|
||||
|
||||
struct FileMetadata {
|
||||
// For open_memstream().
|
||||
char **addr;
|
||||
|
@ -174,6 +179,8 @@ INTERCEPTOR(int, strcmp, const char *s1, const char *s2) {
|
|||
}
|
||||
|
||||
INTERCEPTOR(int, strncmp, const char *s1, const char *s2, uptr size) {
|
||||
if (COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED)
|
||||
return internal_strncmp(s1, s2, size);
|
||||
void *ctx;
|
||||
COMMON_INTERCEPTOR_ENTER(ctx, strncmp, s1, s2, size);
|
||||
unsigned char c1 = 0, c2 = 0;
|
||||
|
|
Loading…
Reference in New Issue