xref: /freebsd/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.h (revision 3c4ba5f55438f7afd4f4b0b56f88f2bb505fd6a6)
1 //===-- sanitizer_fuchsia.h ------------------------------------*- C++ -*-===//
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 // Fuchsia-specific sanitizer support.
10 //
11 //===---------------------------------------------------------------------===//
12 #ifndef SANITIZER_FUCHSIA_H
13 #define SANITIZER_FUCHSIA_H
14 
15 #include "sanitizer_platform.h"
16 #if SANITIZER_FUCHSIA
17 
18 #include "sanitizer_common.h"
19 
20 #include <zircon/sanitizer.h>
21 #include <zircon/syscalls/object.h>
22 
23 namespace __sanitizer {
24 
25 extern uptr MainThreadStackBase, MainThreadStackSize;
26 extern sanitizer_shadow_bounds_t ShadowBounds;
27 
28 struct MemoryMappingLayoutData {
29   InternalMmapVector<zx_info_maps_t> data;
30   size_t current;  // Current index into the vector.
31 };
32 
33 void InitShadowBounds();
34 
35 }  // namespace __sanitizer
36 
37 #endif  // SANITIZER_FUCHSIA
38 #endif  // SANITIZER_FUCHSIA_H
39