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
21namespace __hwasan {
22
23void ReportStats();
24void ReportTagMismatch(StackTrace *stack, uptr addr, uptr access_size,
25 bool is_store, bool fatal, uptr *registers_frame);
26void ReportInvalidFree(StackTrace *stack, uptr addr);
27void ReportTailOverwritten(StackTrace *stack, uptr addr, uptr orig_size,
28 const u8 *expected);
29void ReportRegisters(const uptr *registers_frame, uptr pc);
30void ReportAtExitStatistics();
31
32
33} // namespace __hwasan
34
35#endif // HWASAN_REPORT_H
36