brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 8a2a631 Raw
36 lines · cpp
1//===-- ubsan_init_standalone_preinit.cpp --------------------------------===//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//9// Initialization of standalone UBSan runtime.10//11//===----------------------------------------------------------------------===//12 13#include "ubsan_platform.h"14#if !CAN_SANITIZE_UB15#error "UBSan is not supported on this platform!"16#endif17 18#include "sanitizer_common/sanitizer_internal_defs.h"19#include "ubsan_init.h"20#include "ubsan_signals_standalone.h"21 22#if SANITIZER_CAN_USE_PREINIT_ARRAY23 24namespace __ubsan {25 26static void PreInitAsStandalone() {27  InitAsStandalone();28  InitializeDeadlySignals();29}30 31} // namespace __ubsan32 33__attribute__((section(".preinit_array"), used)) static auto preinit =34    __ubsan::PreInitAsStandalone;35#endif // SANITIZER_CAN_USE_PREINIT_ARRAY36