brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 35849fd Raw
33 lines · c
1/*===- DataFlow.h - a standalone DataFlow trace                     -------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8// Internal header file to connect DataFlow.cpp and DataFlowCallbacks.cpp.9//===----------------------------------------------------------------------===*/10 11#ifndef __LIBFUZZER_DATAFLOW_H12#define __LIBFUZZER_DATAFLOW_H13 14#include <cstddef>15#include <cstdint>16#include <sanitizer/dfsan_interface.h>17 18// This data is shared between DataFlowCallbacks.cpp and DataFlow.cpp.19struct CallbackData {20  size_t NumFuncs, NumGuards;21  const uintptr_t *PCsBeg, *PCsEnd;22  dfsan_label *FuncLabels;  // Array of NumFuncs elements.23  bool *BBExecuted;         // Array of NumGuards elements.24};25 26extern CallbackData __dft;27 28enum {29  PCFLAG_FUNC_ENTRY = 1,30};31 32#endif  // __LIBFUZZER_DATAFLOW_H33