1 //===-- ubsan_init.h --------------------------------------------*- C++ -*-===// 2 // 3 // This file is distributed under the University of Illinois Open Source 4 // License. See LICENSE.TXT for details. 5 // 6 //===----------------------------------------------------------------------===// 7 // 8 // Initialization function for UBSan runtime. 9 // 10 //===----------------------------------------------------------------------===// 11 #ifndef UBSAN_INIT_H 12 #define UBSAN_INIT_H 13 14 namespace __ubsan { 15 16 // Get the full tool name for UBSan. 17 const char *GetSanititizerToolName(); 18 19 // Initialize UBSan as a standalone tool. Typically should be called early 20 // during initialization. 21 void InitAsStandalone(); 22 23 // Initialize UBSan as a standalone tool, if it hasn't been initialized before. 24 void InitAsStandaloneIfNecessary(); 25 26 // Initializes UBSan as a plugin tool. This function should be called once 27 // from "parent tool" (e.g. ASan) initialization. 28 void InitAsPlugin(); 29 30 } // namespace __ubsan 31 32 #endif // UBSAN_INIT_H 33