]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/compiler-rt/lib/msan/msan_chained_origin_depot.h
Merge compiler-rt trunk r366426, resolve conflicts, and add
[FreeBSD/FreeBSD.git] / contrib / compiler-rt / lib / msan / msan_chained_origin_depot.h
1 //===-- msan_chained_origin_depot.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 // A storage for chained origins.
10 //===----------------------------------------------------------------------===//
11 #ifndef MSAN_CHAINED_ORIGIN_DEPOT_H
12 #define MSAN_CHAINED_ORIGIN_DEPOT_H
13
14 #include "sanitizer_common/sanitizer_common.h"
15
16 namespace __msan {
17
18 StackDepotStats *ChainedOriginDepotGetStats();
19 bool ChainedOriginDepotPut(u32 here_id, u32 prev_id, u32 *new_id);
20 // Retrieves a stored stack trace by the id.
21 u32 ChainedOriginDepotGet(u32 id, u32 *other);
22
23 void ChainedOriginDepotLockAll();
24 void ChainedOriginDepotUnlockAll();
25
26 }  // namespace __msan
27
28 #endif  // MSAN_CHAINED_ORIGIN_DEPOT_H