Introduces a new type of suppression: 1. function-name-matches - allows users to disable `malloc`, `free`, `pthread_mutex_lock` or similar. This could be helpful if a user thinks these are real-time safe on their OS. Also allows disabling of any function marked [[blocking]]. This is useful as a **more performant "early outs" compared to the `call-stack-contains` suppression**. `call-stack-contains` is inherently VERY costly, needing to inspect every frame of every stack for a matching string. This new suppression has an early out before we unwind the stack.
24 lines
800 B
C++
24 lines
800 B
C++
//===--- rtsan_suppressions.h - Realtime Sanitizer --------------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file is a part of the RTSan runtime, providing support for suppressions
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#pragma once
|
|
|
|
#include "sanitizer_common/sanitizer_stacktrace.h"
|
|
|
|
namespace __rtsan {
|
|
|
|
void InitializeSuppressions();
|
|
bool IsStackTraceSuppressed(const __sanitizer::StackTrace &stack);
|
|
bool IsFunctionSuppressed(const char *function_name);
|
|
|
|
} // namespace __rtsan
|