33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
| /*===- DataFlow.h - a standalone DataFlow trace                     -------===//
 | |
| //
 | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 | |
| // See https://llvm.org/LICENSE.txt for license information.
 | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| // Internal header file to connect DataFlow.cpp and DataFlowCallbacks.cpp.
 | |
| //===----------------------------------------------------------------------===*/
 | |
| 
 | |
| #ifndef __LIBFUZZER_DATAFLOW_H
 | |
| #define __LIBFUZZER_DATAFLOW_H
 | |
| 
 | |
| #include <cstddef>
 | |
| #include <cstdint>
 | |
| #include <sanitizer/dfsan_interface.h>
 | |
| 
 | |
| // This data is shared between DataFlowCallbacks.cpp and DataFlow.cpp.
 | |
| struct CallbackData {
 | |
|   size_t NumFuncs, NumGuards;
 | |
|   const uintptr_t *PCsBeg, *PCsEnd;
 | |
|   dfsan_label *FuncLabels;  // Array of NumFuncs elements.
 | |
|   bool *BBExecuted;         // Array of NumGuards elements.
 | |
| };
 | |
| 
 | |
| extern CallbackData __dft;
 | |
| 
 | |
| enum {
 | |
|   PCFLAG_FUNC_ENTRY = 1,
 | |
| };
 | |
| 
 | |
| #endif  // __LIBFUZZER_DATAFLOW_H
 |