1 //===-- hwasan_report.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 /// \file
10 /// This file is a part of HWAddressSanitizer. HWASan-private header for error
11 /// reporting functions.
12 ///
13 //===----------------------------------------------------------------------===//
14 
15 #ifndef HWASAN_REPORT_H
16 #define HWASAN_REPORT_H
17 
18 #include "sanitizer_common/sanitizer_internal_defs.h"
19 #include "sanitizer_common/sanitizer_stacktrace.h"
20 
21 namespace __hwasan {
22 
23 void ReportStats();
24 void ReportTagMismatch(StackTrace *stack, uptr addr, uptr access_size,
25                        bool is_store, bool fatal, uptr *registers_frame);
26 void ReportInvalidFree(StackTrace *stack, uptr addr);
27 void ReportTailOverwritten(StackTrace *stack, uptr addr, uptr orig_size,
28                            const u8 *expected);
29 void ReportRegisters(uptr *registers_frame, uptr pc);
30 void ReportAtExitStatistics();
31 
32 
33 }  // namespace __hwasan
34 
35 #endif  // HWASAN_REPORT_H
36