003 File Manager
Current Path:
/usr/src/contrib/llvm-project/compiler-rt/lib/gwp_asan
usr
/
src
/
contrib
/
llvm-project
/
compiler-rt
/
lib
/
gwp_asan
/
📁
..
📄
common.cpp
(3.33 KB)
📄
common.h
(4.45 KB)
📄
crash_handler.cpp
(4.32 KB)
📄
crash_handler.h
(6.2 KB)
📄
definitions.h
(776 B)
📄
guarded_pool_allocator.cpp
(9.62 KB)
📄
guarded_pool_allocator.h
(9.41 KB)
📄
mutex.h
(1.24 KB)
📁
optional
📄
options.h
(2.36 KB)
📄
options.inc
(2.73 KB)
📁
platform_specific
📄
random.cpp
(1022 B)
📄
random.h
(746 B)
📄
stack_trace_compressor.cpp
(3.17 KB)
📄
stack_trace_compressor.h
(1.52 KB)
📄
utilities.h
(978 B)
Editing: options.h
//===-- options.h -----------------------------------------------*- 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 // //===----------------------------------------------------------------------===// #ifndef GWP_ASAN_OPTIONS_H_ #define GWP_ASAN_OPTIONS_H_ #include <stddef.h> #include <stdint.h> namespace gwp_asan { namespace options { // ================================ Requirements =============================== // This function is required to be either implemented by the supporting // allocator, or one of the two provided implementations may be used // (RTGwpAsanBacktraceLibc or RTGwpAsanBacktraceSanitizerCommon). // ================================ Description ================================ // This function shall collect the backtrace for the calling thread and place // the result in `TraceBuffer`. This function should elide itself and all frames // below itself from `TraceBuffer`, i.e. the caller's frame should be in // TraceBuffer[0], and subsequent frames 1..n into TraceBuffer[1..n], where a // maximum of `Size` frames are stored. Returns the number of frames stored into // `TraceBuffer`, and zero on failure. If the return value of this function is // equal to `Size`, it may indicate that the backtrace is truncated. // =================================== Notes =================================== // This function may directly or indirectly call malloc(), as the // GuardedPoolAllocator contains a reentrancy barrier to prevent infinite // recursion. Any allocation made inside this function will be served by the // supporting allocator, and will not have GWP-ASan protections. typedef size_t (*Backtrace_t)(uintptr_t *TraceBuffer, size_t Size); struct Options { Backtrace_t Backtrace = nullptr; // Read the options from the included definitions file. #define GWP_ASAN_OPTION(Type, Name, DefaultValue, Description) \ Type Name = DefaultValue; #include "gwp_asan/options.inc" #undef GWP_ASAN_OPTION void setDefaults() { #define GWP_ASAN_OPTION(Type, Name, DefaultValue, Description) \ Name = DefaultValue; #include "gwp_asan/options.inc" #undef GWP_ASAN_OPTION Backtrace = nullptr; } }; } // namespace options } // namespace gwp_asan #endif // GWP_ASAN_OPTIONS_H_
Upload File
Create Folder