forked from OSchip/llvm-project
[NFC][sanitizer] clang-format some code
This commit is contained in:
parent
853a614864
commit
b8919fb0ea
|
@ -771,10 +771,9 @@ void tools::linkSanitizerRuntimeDeps(const ToolChain &TC,
|
|||
}
|
||||
CmdArgs.push_back("-lm");
|
||||
// There's no libdl on all OSes.
|
||||
if (!TC.getTriple().isOSFreeBSD() &&
|
||||
!TC.getTriple().isOSNetBSD() &&
|
||||
if (!TC.getTriple().isOSFreeBSD() && !TC.getTriple().isOSNetBSD() &&
|
||||
!TC.getTriple().isOSOpenBSD() &&
|
||||
TC.getTriple().getOS() != llvm::Triple::RTEMS)
|
||||
TC.getTriple().getOS() != llvm::Triple::RTEMS)
|
||||
CmdArgs.push_back("-ldl");
|
||||
// Required for backtrace on some OSes
|
||||
if (TC.getTriple().isOSFreeBSD() ||
|
||||
|
|
|
@ -28,20 +28,20 @@
|
|||
// really defined to replace libc functions.
|
||||
#if !SANITIZER_FUCHSIA && !SANITIZER_RTEMS
|
||||
|
||||
#if SANITIZER_POSIX
|
||||
#include "sanitizer_common/sanitizer_posix.h"
|
||||
#endif
|
||||
# if SANITIZER_POSIX
|
||||
# include "sanitizer_common/sanitizer_posix.h"
|
||||
# endif
|
||||
|
||||
#if ASAN_INTERCEPT__UNWIND_RAISEEXCEPTION || \
|
||||
ASAN_INTERCEPT__SJLJ_UNWIND_RAISEEXCEPTION
|
||||
#include <unwind.h>
|
||||
#endif
|
||||
# if ASAN_INTERCEPT__UNWIND_RAISEEXCEPTION || \
|
||||
ASAN_INTERCEPT__SJLJ_UNWIND_RAISEEXCEPTION
|
||||
# include <unwind.h>
|
||||
# endif
|
||||
|
||||
#if defined(__i386) && SANITIZER_LINUX
|
||||
#define ASAN_PTHREAD_CREATE_VERSION "GLIBC_2.1"
|
||||
#elif defined(__mips__) && SANITIZER_LINUX
|
||||
#define ASAN_PTHREAD_CREATE_VERSION "GLIBC_2.2"
|
||||
#endif
|
||||
# if defined(__i386) && SANITIZER_LINUX
|
||||
# define ASAN_PTHREAD_CREATE_VERSION "GLIBC_2.1"
|
||||
# elif defined(__mips__) && SANITIZER_LINUX
|
||||
# define ASAN_PTHREAD_CREATE_VERSION "GLIBC_2.2"
|
||||
# endif
|
||||
|
||||
namespace __asan {
|
||||
|
||||
|
|
|
@ -35,11 +35,11 @@
|
|||
// If set, values like allocator chunk size, as well as defaults for some flags
|
||||
// will be changed towards less memory overhead.
|
||||
#ifndef ASAN_LOW_MEMORY
|
||||
# if SANITIZER_IOS || SANITIZER_ANDROID || SANITIZER_RTEMS
|
||||
# define ASAN_LOW_MEMORY 1
|
||||
# else
|
||||
# define ASAN_LOW_MEMORY 0
|
||||
# endif
|
||||
# if SANITIZER_IOS || SANITIZER_ANDROID || SANITIZER_RTEMS
|
||||
# define ASAN_LOW_MEMORY 1
|
||||
# else
|
||||
# define ASAN_LOW_MEMORY 0
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef ASAN_DYNAMIC
|
||||
|
|
|
@ -17,14 +17,14 @@
|
|||
#if SANITIZER_FREEBSD || SANITIZER_FUCHSIA || SANITIZER_LINUX || \
|
||||
SANITIZER_NETBSD || SANITIZER_RTEMS || SANITIZER_SOLARIS
|
||||
|
||||
#include "sanitizer_common/sanitizer_allocator_checks.h"
|
||||
#include "sanitizer_common/sanitizer_errno.h"
|
||||
#include "sanitizer_common/sanitizer_tls_get_addr.h"
|
||||
#include "asan_allocator.h"
|
||||
#include "asan_interceptors.h"
|
||||
#include "asan_internal.h"
|
||||
#include "asan_malloc_local.h"
|
||||
#include "asan_stack.h"
|
||||
# include "asan_allocator.h"
|
||||
# include "asan_interceptors.h"
|
||||
# include "asan_internal.h"
|
||||
# include "asan_malloc_local.h"
|
||||
# include "asan_stack.h"
|
||||
# include "sanitizer_common/sanitizer_allocator_checks.h"
|
||||
# include "sanitizer_common/sanitizer_errno.h"
|
||||
# include "sanitizer_common/sanitizer_tls_get_addr.h"
|
||||
|
||||
// ---------------------- Replacement functions ---------------- {{{1
|
||||
using namespace __asan;
|
||||
|
@ -82,27 +82,23 @@ static int PosixMemalignFromLocalPool(void **memptr, uptr alignment,
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if SANITIZER_RTEMS
|
||||
void* MemalignFromLocalPool(uptr alignment, uptr size) {
|
||||
# if SANITIZER_RTEMS
|
||||
void *MemalignFromLocalPool(uptr alignment, uptr size) {
|
||||
void *ptr = nullptr;
|
||||
alignment = Max(alignment, kWordSize);
|
||||
PosixMemalignFromLocalPool(&ptr, alignment, size);
|
||||
return ptr;
|
||||
}
|
||||
|
||||
bool IsFromLocalPool(const void *ptr) {
|
||||
return IsInDlsymAllocPool(ptr);
|
||||
}
|
||||
#endif
|
||||
bool IsFromLocalPool(const void *ptr) { return IsInDlsymAllocPool(ptr); }
|
||||
# endif
|
||||
|
||||
static inline bool MaybeInDlsym() {
|
||||
// Fuchsia doesn't use dlsym-based interceptors.
|
||||
return !SANITIZER_FUCHSIA && asan_init_is_running;
|
||||
}
|
||||
|
||||
static inline bool UseLocalPool() {
|
||||
return EarlyMalloc() || MaybeInDlsym();
|
||||
}
|
||||
static inline bool UseLocalPool() { return EarlyMalloc() || MaybeInDlsym(); }
|
||||
|
||||
static void *ReallocFromLocalPool(void *ptr, uptr size) {
|
||||
const uptr offset = (uptr)ptr - (uptr)alloc_memory_for_dlsym;
|
||||
|
|
|
@ -279,9 +279,9 @@ extern uptr kHighMemEnd, kMidMemBeg, kMidMemEnd; // Initialized in __asan_init.
|
|||
} // namespace __asan
|
||||
|
||||
#if SANITIZER_MYRIAD2
|
||||
#include "asan_mapping_myriad.h"
|
||||
# include "asan_mapping_myriad.h"
|
||||
#elif defined(__sparc__) && SANITIZER_WORDSIZE == 64
|
||||
#include "asan_mapping_sparc64.h"
|
||||
# include "asan_mapping_sparc64.h"
|
||||
#else
|
||||
#define MEM_TO_SHADOW(mem) (((mem) >> SHADOW_SCALE) + (SHADOW_OFFSET))
|
||||
|
||||
|
|
|
@ -17,22 +17,22 @@
|
|||
#define MEM_TO_SHADOW(mem) \
|
||||
(((RAW_ADDR(mem) - kLowMemBeg) >> SHADOW_SCALE) + (SHADOW_OFFSET))
|
||||
|
||||
#define kLowMemBeg kMyriadMemoryOffset32
|
||||
#define kLowMemEnd (SHADOW_OFFSET - 1)
|
||||
#define kLowMemBeg kMyriadMemoryOffset32
|
||||
#define kLowMemEnd (SHADOW_OFFSET - 1)
|
||||
|
||||
#define kLowShadowBeg SHADOW_OFFSET
|
||||
#define kLowShadowEnd MEM_TO_SHADOW(kLowMemEnd)
|
||||
#define kLowShadowBeg SHADOW_OFFSET
|
||||
#define kLowShadowEnd MEM_TO_SHADOW(kLowMemEnd)
|
||||
|
||||
#define kHighMemBeg 0
|
||||
#define kHighMemBeg 0
|
||||
|
||||
#define kHighShadowBeg 0
|
||||
#define kHighShadowEnd 0
|
||||
|
||||
#define kMidShadowBeg 0
|
||||
#define kMidShadowEnd 0
|
||||
#define kMidShadowBeg 0
|
||||
#define kMidShadowEnd 0
|
||||
|
||||
#define kShadowGapBeg (kLowShadowEnd + 1)
|
||||
#define kShadowGapEnd kMyriadMemoryEnd32
|
||||
#define kShadowGapBeg (kLowShadowEnd + 1)
|
||||
#define kShadowGapEnd kMyriadMemoryEnd32
|
||||
|
||||
#define kShadowGap2Beg 0
|
||||
#define kShadowGap2End 0
|
||||
|
|
|
@ -11,16 +11,15 @@
|
|||
// Interceptors for operators new and delete.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include "asan_allocator.h"
|
||||
#include "asan_internal.h"
|
||||
#include "asan_malloc_local.h"
|
||||
#include "asan_report.h"
|
||||
#include "asan_stack.h"
|
||||
|
||||
#include "interception/interception.h"
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
// C++ operators can't have dllexport attributes on Windows. We export them
|
||||
// anyway by passing extra -export flags to the linker, which is exactly that
|
||||
// dllexport would normally do. We need to export them in order to make the
|
||||
|
@ -135,23 +134,27 @@ INTERCEPTOR(void *, _ZnamRKSt9nothrow_t, size_t size, std::nothrow_t const&) {
|
|||
#endif // !SANITIZER_MAC
|
||||
|
||||
#define OPERATOR_DELETE_BODY(type) \
|
||||
if (IS_FROM_LOCAL_POOL(ptr)) return;\
|
||||
GET_STACK_TRACE_FREE;\
|
||||
if (IS_FROM_LOCAL_POOL(ptr)) \
|
||||
return; \
|
||||
GET_STACK_TRACE_FREE; \
|
||||
asan_delete(ptr, 0, 0, &stack, type);
|
||||
|
||||
#define OPERATOR_DELETE_BODY_SIZE(type) \
|
||||
if (IS_FROM_LOCAL_POOL(ptr)) return;\
|
||||
GET_STACK_TRACE_FREE;\
|
||||
if (IS_FROM_LOCAL_POOL(ptr)) \
|
||||
return; \
|
||||
GET_STACK_TRACE_FREE; \
|
||||
asan_delete(ptr, size, 0, &stack, type);
|
||||
|
||||
#define OPERATOR_DELETE_BODY_ALIGN(type) \
|
||||
if (IS_FROM_LOCAL_POOL(ptr)) return;\
|
||||
GET_STACK_TRACE_FREE;\
|
||||
if (IS_FROM_LOCAL_POOL(ptr)) \
|
||||
return; \
|
||||
GET_STACK_TRACE_FREE; \
|
||||
asan_delete(ptr, 0, static_cast<uptr>(align), &stack, type);
|
||||
|
||||
#define OPERATOR_DELETE_BODY_SIZE_ALIGN(type) \
|
||||
if (IS_FROM_LOCAL_POOL(ptr)) return;\
|
||||
GET_STACK_TRACE_FREE;\
|
||||
if (IS_FROM_LOCAL_POOL(ptr)) \
|
||||
return; \
|
||||
GET_STACK_TRACE_FREE; \
|
||||
asan_delete(ptr, size, static_cast<uptr>(align), &stack, type);
|
||||
|
||||
#if !SANITIZER_MAC
|
||||
|
|
|
@ -173,16 +173,21 @@ int __asan_address_is_poisoned(void const volatile *addr) {
|
|||
}
|
||||
|
||||
uptr __asan_region_is_poisoned(uptr beg, uptr size) {
|
||||
if (!size) return 0;
|
||||
if (!size)
|
||||
return 0;
|
||||
uptr end = beg + size;
|
||||
if (SANITIZER_MYRIAD2) {
|
||||
// On Myriad, address not in DRAM range need to be treated as
|
||||
// unpoisoned.
|
||||
if (!AddrIsInMem(beg) && !AddrIsInShadow(beg)) return 0;
|
||||
if (!AddrIsInMem(end) && !AddrIsInShadow(end)) return 0;
|
||||
if (!AddrIsInMem(beg) && !AddrIsInShadow(beg))
|
||||
return 0;
|
||||
if (!AddrIsInMem(end) && !AddrIsInShadow(end))
|
||||
return 0;
|
||||
} else {
|
||||
if (!AddrIsInMem(beg)) return beg;
|
||||
if (!AddrIsInMem(end)) return end;
|
||||
if (!AddrIsInMem(beg))
|
||||
return beg;
|
||||
if (!AddrIsInMem(end))
|
||||
return end;
|
||||
}
|
||||
CHECK_LT(beg, end);
|
||||
uptr aligned_b = RoundUpTo(beg, SHADOW_GRANULARITY);
|
||||
|
@ -192,8 +197,7 @@ uptr __asan_region_is_poisoned(uptr beg, uptr size) {
|
|||
// First check the first and the last application bytes,
|
||||
// then check the SHADOW_GRANULARITY-aligned region by calling
|
||||
// mem_is_zero on the corresponding shadow.
|
||||
if (!__asan::AddressIsPoisoned(beg) &&
|
||||
!__asan::AddressIsPoisoned(end - 1) &&
|
||||
if (!__asan::AddressIsPoisoned(beg) && !__asan::AddressIsPoisoned(end - 1) &&
|
||||
(shadow_end <= shadow_beg ||
|
||||
__sanitizer::mem_is_zero((const char *)shadow_beg,
|
||||
shadow_end - shadow_beg)))
|
||||
|
|
|
@ -138,24 +138,23 @@ ASAN_REPORT_ERROR_N(load, false)
|
|||
ASAN_REPORT_ERROR_N(store, true)
|
||||
|
||||
#define ASAN_MEMORY_ACCESS_CALLBACK_BODY(type, is_write, size, exp_arg, fatal) \
|
||||
if (SANITIZER_MYRIAD2 && !AddrIsInMem(addr) && !AddrIsInShadow(addr)) \
|
||||
return; \
|
||||
uptr sp = MEM_TO_SHADOW(addr); \
|
||||
uptr s = size <= SHADOW_GRANULARITY ? *reinterpret_cast<u8 *>(sp) \
|
||||
: *reinterpret_cast<u16 *>(sp); \
|
||||
if (UNLIKELY(s)) { \
|
||||
if (UNLIKELY(size >= SHADOW_GRANULARITY || \
|
||||
((s8)((addr & (SHADOW_GRANULARITY - 1)) + size - 1)) >= \
|
||||
(s8)s)) { \
|
||||
if (__asan_test_only_reported_buggy_pointer) { \
|
||||
*__asan_test_only_reported_buggy_pointer = addr; \
|
||||
} else { \
|
||||
GET_CALLER_PC_BP_SP; \
|
||||
ReportGenericError(pc, bp, sp, addr, is_write, size, exp_arg, \
|
||||
fatal); \
|
||||
} \
|
||||
if (SANITIZER_MYRIAD2 && !AddrIsInMem(addr) && !AddrIsInShadow(addr)) \
|
||||
return; \
|
||||
uptr sp = MEM_TO_SHADOW(addr); \
|
||||
uptr s = size <= SHADOW_GRANULARITY ? *reinterpret_cast<u8 *>(sp) \
|
||||
: *reinterpret_cast<u16 *>(sp); \
|
||||
if (UNLIKELY(s)) { \
|
||||
if (UNLIKELY(size >= SHADOW_GRANULARITY || \
|
||||
((s8)((addr & (SHADOW_GRANULARITY - 1)) + size - 1)) >= \
|
||||
(s8)s)) { \
|
||||
if (__asan_test_only_reported_buggy_pointer) { \
|
||||
*__asan_test_only_reported_buggy_pointer = addr; \
|
||||
} else { \
|
||||
GET_CALLER_PC_BP_SP; \
|
||||
ReportGenericError(pc, bp, sp, addr, is_write, size, exp_arg, fatal); \
|
||||
} \
|
||||
}
|
||||
} \
|
||||
}
|
||||
|
||||
#define ASAN_MEMORY_ACCESS_CALLBACK(type, is_write, size) \
|
||||
extern "C" NOINLINE INTERFACE_ATTRIBUTE \
|
||||
|
@ -307,7 +306,7 @@ static void asan_atexit() {
|
|||
|
||||
static void InitializeHighMemEnd() {
|
||||
#if !SANITIZER_MYRIAD2
|
||||
#if !ASAN_FIXED_MAPPING
|
||||
# if !ASAN_FIXED_MAPPING
|
||||
kHighMemEnd = GetMaxUserVirtualAddress();
|
||||
// Increase kHighMemEnd to make sure it's properly
|
||||
// aligned together with kHighMemBeg:
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
// InitializeShadowMemory implementation.
|
||||
#if !SANITIZER_FUCHSIA && !SANITIZER_RTEMS
|
||||
|
||||
#include "asan_internal.h"
|
||||
#include "asan_mapping.h"
|
||||
# include "asan_internal.h"
|
||||
# include "asan_mapping.h"
|
||||
|
||||
namespace __asan {
|
||||
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
|
||||
#include "sanitizer_common/sanitizer_internal_defs.h"
|
||||
|
||||
#if !SANITIZER_LINUX && !SANITIZER_FREEBSD && !SANITIZER_MAC && \
|
||||
!SANITIZER_NETBSD && !SANITIZER_WINDOWS && \
|
||||
!SANITIZER_FUCHSIA && !SANITIZER_RTEMS && !SANITIZER_SOLARIS
|
||||
# error "Interception doesn't work on this operating system."
|
||||
#if !SANITIZER_LINUX && !SANITIZER_FREEBSD && !SANITIZER_MAC && \
|
||||
!SANITIZER_NETBSD && !SANITIZER_WINDOWS && !SANITIZER_FUCHSIA && \
|
||||
!SANITIZER_RTEMS && !SANITIZER_SOLARIS
|
||||
# error "Interception doesn't work on this operating system."
|
||||
#endif
|
||||
|
||||
// These typedefs should be used only in the interceptor definitions to replace
|
||||
|
@ -131,10 +131,10 @@ const interpose_substitution substitution_##func_name[] \
|
|||
# define DECLARE_WRAPPER_WINAPI(ret_type, func, ...) \
|
||||
extern "C" __declspec(dllimport) ret_type __stdcall func(__VA_ARGS__);
|
||||
#elif SANITIZER_RTEMS
|
||||
# define WRAP(x) x
|
||||
# define WRAPPER_NAME(x) #x
|
||||
# define INTERCEPTOR_ATTRIBUTE
|
||||
# define DECLARE_WRAPPER(ret_type, func, ...)
|
||||
# define WRAP(x) x
|
||||
# define WRAPPER_NAME(x) # x
|
||||
# define INTERCEPTOR_ATTRIBUTE
|
||||
# define DECLARE_WRAPPER(ret_type, func, ...)
|
||||
#elif SANITIZER_FREEBSD || SANITIZER_NETBSD
|
||||
# define WRAP(x) __interceptor_ ## x
|
||||
# define WRAPPER_NAME(x) "__interceptor_" #x
|
||||
|
@ -163,8 +163,8 @@ const interpose_substitution substitution_##func_name[] \
|
|||
# define REAL(x) __unsanitized_##x
|
||||
# define DECLARE_REAL(ret_type, func, ...)
|
||||
#elif SANITIZER_RTEMS
|
||||
# define REAL(x) __real_ ## x
|
||||
# define DECLARE_REAL(ret_type, func, ...) \
|
||||
# define REAL(x) __real_##x
|
||||
# define DECLARE_REAL(ret_type, func, ...) \
|
||||
extern "C" ret_type REAL(func)(__VA_ARGS__);
|
||||
#elif !SANITIZER_MAC
|
||||
# define PTR_TO_REAL(x) real_##x
|
||||
|
@ -185,9 +185,9 @@ const interpose_substitution substitution_##func_name[] \
|
|||
#endif // SANITIZER_MAC
|
||||
|
||||
#if !SANITIZER_FUCHSIA && !SANITIZER_RTEMS
|
||||
# define DECLARE_REAL_AND_INTERCEPTOR(ret_type, func, ...) \
|
||||
DECLARE_REAL(ret_type, func, __VA_ARGS__) \
|
||||
extern "C" ret_type WRAP(func)(__VA_ARGS__);
|
||||
# define DECLARE_REAL_AND_INTERCEPTOR(ret_type, func, ...) \
|
||||
DECLARE_REAL(ret_type, func, __VA_ARGS__) \
|
||||
extern "C" ret_type WRAP(func)(__VA_ARGS__);
|
||||
// Declare an interceptor and its wrapper defined in a different translation
|
||||
// unit (ex. asm).
|
||||
# define DECLARE_EXTERN_INTERCEPTOR_AND_WRAPPER(ret_type, func, ...) \
|
||||
|
@ -203,10 +203,10 @@ const interpose_substitution substitution_##func_name[] \
|
|||
// without defining INTERCEPTOR(..., foo, ...). For example, if you override
|
||||
// foo with an interceptor for other function.
|
||||
#if !SANITIZER_MAC && !SANITIZER_FUCHSIA && !SANITIZER_RTEMS
|
||||
# define DEFINE_REAL(ret_type, func, ...) \
|
||||
# define DEFINE_REAL(ret_type, func, ...) \
|
||||
typedef ret_type (*FUNC_TYPE(func))(__VA_ARGS__); \
|
||||
namespace __interception { \
|
||||
FUNC_TYPE(func) PTR_TO_REAL(func); \
|
||||
namespace __interception { \
|
||||
FUNC_TYPE(func) PTR_TO_REAL(func); \
|
||||
}
|
||||
#else
|
||||
# define DEFINE_REAL(ret_type, func, ...)
|
||||
|
|
|
@ -23,8 +23,7 @@
|
|||
|
||||
#if SANITIZER_FREEBSD || SANITIZER_MAC
|
||||
# define __errno_location __error
|
||||
#elif SANITIZER_ANDROID || SANITIZER_NETBSD || \
|
||||
SANITIZER_RTEMS
|
||||
#elif SANITIZER_ANDROID || SANITIZER_NETBSD || SANITIZER_RTEMS
|
||||
# define __errno_location __errno
|
||||
#elif SANITIZER_SOLARIS
|
||||
# define __errno_location ___errno
|
||||
|
|
|
@ -13,10 +13,9 @@
|
|||
#define SANITIZER_PLATFORM_H
|
||||
|
||||
#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && \
|
||||
!defined(__APPLE__) && !defined(_WIN32) && \
|
||||
!defined(__Fuchsia__) && !defined(__rtems__) && \
|
||||
!(defined(__sun__) && defined(__svr4__))
|
||||
# error "This operating system is not supported"
|
||||
!defined(__APPLE__) && !defined(_WIN32) && !defined(__Fuchsia__) && \
|
||||
!defined(__rtems__) && !(defined(__sun__) && defined(__svr4__))
|
||||
# error "This operating system is not supported"
|
||||
#endif
|
||||
|
||||
// Get __GLIBC__ on a glibc platform. Exclude Android: features.h includes C
|
||||
|
@ -118,9 +117,9 @@
|
|||
#endif
|
||||
|
||||
#if defined(__rtems__)
|
||||
# define SANITIZER_RTEMS 1
|
||||
# define SANITIZER_RTEMS 1
|
||||
#else
|
||||
# define SANITIZER_RTEMS 0
|
||||
# define SANITIZER_RTEMS 0
|
||||
#endif
|
||||
|
||||
#define SANITIZER_POSIX \
|
||||
|
@ -227,9 +226,9 @@
|
|||
#endif
|
||||
|
||||
#if defined(__myriad2__)
|
||||
# define SANITIZER_MYRIAD2 1
|
||||
# define SANITIZER_MYRIAD2 1
|
||||
#else
|
||||
# define SANITIZER_MYRIAD2 0
|
||||
# define SANITIZER_MYRIAD2 0
|
||||
#endif
|
||||
|
||||
#if defined(__riscv) && (__riscv_xlen == 64)
|
||||
|
@ -376,7 +375,7 @@
|
|||
|
||||
// Enable offline markup symbolizer for Fuchsia and RTEMS.
|
||||
#if SANITIZER_FUCHSIA || SANITIZER_RTEMS
|
||||
#define SANITIZER_SYMBOLIZER_MARKUP 1
|
||||
# define SANITIZER_SYMBOLIZER_MARKUP 1
|
||||
#else
|
||||
#define SANITIZER_SYMBOLIZER_MARKUP 0
|
||||
#endif
|
||||
|
|
|
@ -115,9 +115,9 @@
|
|||
#endif
|
||||
|
||||
#if SANITIZER_RTEMS
|
||||
#define SI_NOT_RTEMS 0
|
||||
# define SI_NOT_RTEMS 0
|
||||
#else
|
||||
#define SI_NOT_RTEMS 1
|
||||
# define SI_NOT_RTEMS 1
|
||||
#endif
|
||||
|
||||
#if SANITIZER_SOLARIS
|
||||
|
|
|
@ -34,7 +34,7 @@ static const u32 kStackTraceMax = 256;
|
|||
// revisit this macro when slow unwind works on Mac, see
|
||||
// https://github.com/google/sanitizers/issues/137
|
||||
#if SANITIZER_MAC || SANITIZER_RTEMS
|
||||
# define SANITIZER_CAN_SLOW_UNWIND 0
|
||||
# define SANITIZER_CAN_SLOW_UNWIND 0
|
||||
#else
|
||||
# define SANITIZER_CAN_SLOW_UNWIND 1
|
||||
#endif
|
||||
|
|
|
@ -16,14 +16,14 @@
|
|||
|
||||
#if SANITIZER_FUCHSIA
|
||||
#include "sanitizer_symbolizer_fuchsia.h"
|
||||
#elif SANITIZER_RTEMS
|
||||
#include "sanitizer_symbolizer_rtems.h"
|
||||
#endif
|
||||
#include "sanitizer_stacktrace.h"
|
||||
#include "sanitizer_symbolizer.h"
|
||||
# elif SANITIZER_RTEMS
|
||||
# include "sanitizer_symbolizer_rtems.h"
|
||||
# endif
|
||||
# include <limits.h>
|
||||
# include <unwind.h>
|
||||
|
||||
#include <limits.h>
|
||||
#include <unwind.h>
|
||||
# include "sanitizer_stacktrace.h"
|
||||
# include "sanitizer_symbolizer.h"
|
||||
|
||||
namespace __sanitizer {
|
||||
|
||||
|
|
|
@ -14,10 +14,10 @@
|
|||
|
||||
// Other platforms should be easy to add, and probably work as-is.
|
||||
#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || \
|
||||
defined(__NetBSD__) || defined(__DragonFly__) || \
|
||||
(defined(__sun__) && defined(__svr4__)) || \
|
||||
defined(_WIN32) || defined(__Fuchsia__) || defined(__rtems__)
|
||||
# define CAN_SANITIZE_UB 1
|
||||
defined(__NetBSD__) || defined(__DragonFly__) || \
|
||||
(defined(__sun__) && defined(__svr4__)) || defined(_WIN32) || \
|
||||
defined(__Fuchsia__) || defined(__rtems__)
|
||||
#define CAN_SANITIZE_UB 1
|
||||
#else
|
||||
# define CAN_SANITIZE_UB 0
|
||||
#endif
|
||||
|
|
|
@ -503,8 +503,7 @@ static ShadowMapping getShadowMapping(Triple &TargetTriple, int LongSize,
|
|||
uint64_t ShadowOffset = (kMyriadMemoryOffset32 + kMyriadMemorySize32 -
|
||||
(kMyriadMemorySize32 >> Mapping.Scale));
|
||||
Mapping.Offset = ShadowOffset - (kMyriadMemoryOffset32 >> Mapping.Scale);
|
||||
}
|
||||
else
|
||||
} else
|
||||
Mapping.Offset = kDefaultShadowOffset32;
|
||||
} else { // LongSize == 64
|
||||
// Fuchsia is always PIE, which means that the beginning of the address
|
||||
|
|
Loading…
Reference in New Issue