LLVM  6.0.0svn
Namespaces | Functions | Variables
FuzzerTracePC.cpp File Reference
#include "FuzzerTracePC.h"
#include "FuzzerCorpus.h"
#include "FuzzerDefs.h"
#include "FuzzerDictionary.h"
#include "FuzzerExtFunctions.h"
#include "FuzzerIO.h"
#include "FuzzerUtil.h"
#include "FuzzerValueBitMap.h"
#include <set>
Include dependency graph for FuzzerTracePC.cpp:

Go to the source code of this file.

Namespaces

 fuzzer
 

Functions

ALWAYS_INLINE uintptr_t fuzzer::GetPreviousInstructionPc (uintptr_t PC)
 
ALWAYS_INLINE uintptr_t fuzzer::GetNextInstructionPc (uintptr_t PC)
 
static std::string fuzzer::GetModuleName (uintptr_t PC)
 
static size_t fuzzer::InternalStrnlen (const char *S, size_t MaxLen)
 
static size_t fuzzer::InternalStrnlen2 (const char *S1, const char *S2)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL void __sanitizer_cov_trace_pc_guard (uint32_t *Guard)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL void __sanitizer_cov_trace_pc ()
 
ATTRIBUTE_INTERFACE void __sanitizer_cov_trace_pc_guard_init (uint32_t *Start, uint32_t *Stop)
 
ATTRIBUTE_INTERFACE void __sanitizer_cov_8bit_counters_init (uint8_t *Start, uint8_t *Stop)
 
ATTRIBUTE_INTERFACE void __sanitizer_cov_pcs_init (const uint8_t *pcs_beg, const uint8_t *pcs_end)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL void __sanitizer_cov_trace_pc_indir (uintptr_t Callee)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_cmp8 (uint64_t Arg1, uint64_t Arg2)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_const_cmp8 (uint64_t Arg1, uint64_t Arg2)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_cmp4 (uint32_t Arg1, uint32_t Arg2)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_const_cmp4 (uint32_t Arg1, uint32_t Arg2)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_cmp2 (uint16_t Arg1, uint16_t Arg2)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_const_cmp2 (uint16_t Arg1, uint16_t Arg2)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_cmp1 (uint8_t Arg1, uint8_t Arg2)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_const_cmp1 (uint8_t Arg1, uint8_t Arg2)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_switch (uint64_t Val, uint64_t *Cases)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_div4 (uint32_t Val)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_div8 (uint64_t Val)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_gep (uintptr_t Idx)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_memcmp (void *caller_pc, const void *s1, const void *s2, size_t n, int result)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_strncmp (void *caller_pc, const char *s1, const char *s2, size_t n, int result)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_strcmp (void *caller_pc, const char *s1, const char *s2, int result)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_strncasecmp (void *called_pc, const char *s1, const char *s2, size_t n, int result)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_strcasecmp (void *called_pc, const char *s1, const char *s2, int result)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_strstr (void *called_pc, const char *s1, const char *s2, char *result)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_strcasestr (void *called_pc, const char *s1, const char *s2, char *result)
 
ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_memmem (void *called_pc, const void *s1, size_t len1, const void *s2, size_t len2, void *result)
 

Variables

ATTRIBUTE_INTERFACE uint8_t __sancov_trace_pc_guard_8bit_counters [fuzzer::TracePC::kNumPCs]
 
ATTRIBUTE_INTERFACE uintptr_t __sancov_trace_pc_pcs [fuzzer::TracePC::kNumPCs]
 
ATTRIBUTE_INTERFACE thread_local uintptr_t __sancov_lowest_stack
 
TracePC fuzzer::TPC
 

Function Documentation

◆ __sanitizer_cov_8bit_counters_init()

ATTRIBUTE_INTERFACE void __sanitizer_cov_8bit_counters_init ( uint8_t *  Start,
uint8_t *  Stop 
)

◆ __sanitizer_cov_pcs_init()

ATTRIBUTE_INTERFACE void __sanitizer_cov_pcs_init ( const uint8_t *  pcs_beg,
const uint8_t *  pcs_end 
)

◆ __sanitizer_cov_trace_cmp1()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_cmp1 ( uint8_t  Arg1,
uint8_t  Arg2 
)

◆ __sanitizer_cov_trace_cmp2()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_cmp2 ( uint16_t  Arg1,
uint16_t  Arg2 
)

◆ __sanitizer_cov_trace_cmp4()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_cmp4 ( uint32_t  Arg1,
uint32_t  Arg2 
)

◆ __sanitizer_cov_trace_cmp8()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_cmp8 ( uint64_t  Arg1,
uint64_t  Arg2 
)

◆ __sanitizer_cov_trace_const_cmp1()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_const_cmp1 ( uint8_t  Arg1,
uint8_t  Arg2 
)

◆ __sanitizer_cov_trace_const_cmp2()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_const_cmp2 ( uint16_t  Arg1,
uint16_t  Arg2 
)

◆ __sanitizer_cov_trace_const_cmp4()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_const_cmp4 ( uint32_t  Arg1,
uint32_t  Arg2 
)

◆ __sanitizer_cov_trace_const_cmp8()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_const_cmp8 ( uint64_t  Arg1,
uint64_t  Arg2 
)

◆ __sanitizer_cov_trace_div4()

◆ __sanitizer_cov_trace_div8()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_div8 ( uint64_t  Val)

◆ __sanitizer_cov_trace_gep()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_gep ( uintptr_t  Idx)

◆ __sanitizer_cov_trace_pc()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL void __sanitizer_cov_trace_pc ( )

◆ __sanitizer_cov_trace_pc_guard()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL void __sanitizer_cov_trace_pc_guard ( uint32_t Guard)

◆ __sanitizer_cov_trace_pc_guard_init()

ATTRIBUTE_INTERFACE void __sanitizer_cov_trace_pc_guard_init ( uint32_t Start,
uint32_t Stop 
)

◆ __sanitizer_cov_trace_pc_indir()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL void __sanitizer_cov_trace_pc_indir ( uintptr_t  Callee)

◆ __sanitizer_cov_trace_switch()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_ALL ATTRIBUTE_TARGET_POPCNT void __sanitizer_cov_trace_switch ( uint64_t  Val,
uint64_t *  Cases 
)

◆ __sanitizer_weak_hook_memcmp()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_memcmp ( void *  caller_pc,
const void *  s1,
const void *  s2,
size_t  n,
int  result 
)

◆ __sanitizer_weak_hook_memmem()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_memmem ( void *  called_pc,
const void *  s1,
size_t  len1,
const void *  s2,
size_t  len2,
void *  result 
)

◆ __sanitizer_weak_hook_strcasecmp()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_strcasecmp ( void *  called_pc,
const char s1,
const char s2,
int  result 
)

◆ __sanitizer_weak_hook_strcasestr()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_strcasestr ( void *  called_pc,
const char s1,
const char s2,
char result 
)

◆ __sanitizer_weak_hook_strcmp()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_strcmp ( void *  caller_pc,
const char s1,
const char s2,
int  result 
)

◆ __sanitizer_weak_hook_strncasecmp()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_strncasecmp ( void *  called_pc,
const char s1,
const char s2,
size_t  n,
int  result 
)

◆ __sanitizer_weak_hook_strncmp()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_strncmp ( void *  caller_pc,
const char s1,
const char s2,
size_t  n,
int  result 
)

◆ __sanitizer_weak_hook_strstr()

ATTRIBUTE_INTERFACE ATTRIBUTE_NO_SANITIZE_MEMORY void __sanitizer_weak_hook_strstr ( void *  called_pc,
const char s1,
const char s2,
char result 
)

Variable Documentation

◆ __sancov_lowest_stack

ATTRIBUTE_INTERFACE thread_local uintptr_t __sancov_lowest_stack

◆ __sancov_trace_pc_guard_8bit_counters

ATTRIBUTE_INTERFACE uint8_t __sancov_trace_pc_guard_8bit_counters[fuzzer::TracePC::kNumPCs]

Definition at line 29 of file FuzzerTracePC.cpp.

Referenced by __sanitizer_cov_trace_pc(), and __sanitizer_cov_trace_pc_guard().

◆ __sancov_trace_pc_pcs

ATTRIBUTE_INTERFACE uintptr_t __sancov_trace_pc_pcs[fuzzer::TracePC::kNumPCs]

Definition at line 32 of file FuzzerTracePC.cpp.

Referenced by __sanitizer_cov_trace_pc(), and __sanitizer_cov_trace_pc_guard().