forked from OSchip/llvm-project
scudo: Create a public include directory. NFCI.
For MTE error reporting we will need to expose interfaces for crash handlers to use to interpret scudo headers and metadata. The intent is that these interfaces will live in scudo/interface.h. Move the existing interface.h into an include/scudo directory and make it independent of the internal headers, so that we will be able to add the interfaces there. Differential Revision: https://reviews.llvm.org/D76648
This commit is contained in:
parent
318a0caf9a
commit
8140f6bcde
|
@ -3,7 +3,7 @@ if (COMPILER_RT_HAS_GWP_ASAN)
|
|||
add_dependencies(scudo_standalone gwp_asan)
|
||||
endif()
|
||||
|
||||
include_directories(../..)
|
||||
include_directories(../.. include)
|
||||
|
||||
set(SCUDO_CFLAGS)
|
||||
|
||||
|
@ -56,7 +56,6 @@ set(SCUDO_HEADERS
|
|||
flags.h
|
||||
flags_parser.h
|
||||
fuchsia.h
|
||||
interface.h
|
||||
internal_defs.h
|
||||
linux.h
|
||||
list.h
|
||||
|
@ -78,6 +77,8 @@ set(SCUDO_HEADERS
|
|||
vector.h
|
||||
wrappers_c_checks.h
|
||||
wrappers_c.h
|
||||
|
||||
include/scudo/interface.h
|
||||
)
|
||||
|
||||
set(SCUDO_SOURCES
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#include "common.h"
|
||||
#include "flags.h"
|
||||
#include "flags_parser.h"
|
||||
#include "interface.h"
|
||||
#include "local_cache.h"
|
||||
#include "memtag.h"
|
||||
#include "quarantine.h"
|
||||
|
@ -22,6 +21,8 @@
|
|||
#include "string_utils.h"
|
||||
#include "tsd.h"
|
||||
|
||||
#include "scudo/interface.h"
|
||||
|
||||
#ifdef GWP_ASAN_HOOKS
|
||||
#include "gwp_asan/guarded_pool_allocator.h"
|
||||
#include "gwp_asan/optional/backtrace.h"
|
||||
|
|
|
@ -9,7 +9,8 @@
|
|||
#include "flags.h"
|
||||
#include "common.h"
|
||||
#include "flags_parser.h"
|
||||
#include "interface.h"
|
||||
|
||||
#include "scudo/interface.h"
|
||||
|
||||
namespace scudo {
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
//===-- interface.h ---------------------------------------------*- C++ -*-===//
|
||||
//===-- scudo/interface.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.
|
||||
|
@ -9,18 +9,16 @@
|
|||
#ifndef SCUDO_INTERFACE_H_
|
||||
#define SCUDO_INTERFACE_H_
|
||||
|
||||
#include "internal_defs.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
WEAK INTERFACE const char *__scudo_default_options();
|
||||
__attribute__((weak)) const char *__scudo_default_options();
|
||||
|
||||
// Post-allocation & pre-deallocation hooks.
|
||||
// They must be thread-safe and not use heap related functions.
|
||||
WEAK INTERFACE void __scudo_allocate_hook(void *ptr, size_t size);
|
||||
WEAK INTERFACE void __scudo_deallocate_hook(void *ptr);
|
||||
__attribute__((weak)) void __scudo_allocate_hook(void *ptr, size_t size);
|
||||
__attribute__((weak)) void __scudo_deallocate_hook(void *ptr);
|
||||
|
||||
WEAK INTERFACE void __scudo_print_stats(void);
|
||||
void __scudo_print_stats(void);
|
||||
|
||||
typedef void (*iterate_callback)(uintptr_t base, size_t size, void *arg);
|
||||
|
|
@ -10,6 +10,7 @@ set(SCUDO_UNITTEST_CFLAGS
|
|||
-I${COMPILER_RT_SOURCE_DIR}/include
|
||||
-I${COMPILER_RT_SOURCE_DIR}/lib
|
||||
-I${COMPILER_RT_SOURCE_DIR}/lib/scudo/standalone
|
||||
-I${COMPILER_RT_SOURCE_DIR}/lib/scudo/standalone/include
|
||||
-DGTEST_HAS_RTTI=0
|
||||
-DSCUDO_DEBUG=1
|
||||
# Extra flags for the C++ tests
|
||||
|
|
|
@ -88,7 +88,10 @@ source_set("cxx_wrapper_sources") {
|
|||
}
|
||||
|
||||
config("scudo_config") {
|
||||
include_dirs = [ "//compiler-rt/lib/scudo/standalone" ]
|
||||
include_dirs = [
|
||||
"//compiler-rt/lib/scudo/standalone",
|
||||
"//compiler-rt/lib/scudo/standalone/include",
|
||||
]
|
||||
if (current_os == "android") {
|
||||
cflags = [ "-fno-emulated-tls" ]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue