145
|
1 //===-- ubsan_init_standalone.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-exception
|
|
6 //
|
|
7 //===----------------------------------------------------------------------===//
|
|
8 //
|
|
9 // Initialization of standalone UBSan runtime.
|
|
10 //
|
|
11 //===----------------------------------------------------------------------===//
|
|
12
|
|
13 #include "ubsan_platform.h"
|
|
14 #if !CAN_SANITIZE_UB
|
|
15 # error "UBSan is not supported on this platform!"
|
|
16 #endif
|
|
17
|
|
18 #include "sanitizer_common/sanitizer_internal_defs.h"
|
|
19 #include "ubsan_init.h"
|
|
20 #include "ubsan_signals_standalone.h"
|
|
21
|
|
22 namespace __ubsan {
|
|
23
|
|
24 class UbsanStandaloneInitializer {
|
|
25 public:
|
|
26 UbsanStandaloneInitializer() {
|
|
27 InitAsStandalone();
|
|
28 InitializeDeadlySignals();
|
|
29 }
|
|
30 };
|
|
31 static UbsanStandaloneInitializer ubsan_standalone_initializer;
|
|
32
|
|
33 } // namespace __ubsan
|