[compiler-rt] NFC: Fix trivial typo
Reviewed By: xgupta Differential Revision: https://reviews.llvm.org/D77457
This commit is contained in:
parent
d6ca91ea42
commit
a1e7e401d2
|
@ -74,7 +74,7 @@ function(try_compile_only output)
|
|||
|
||||
# Strip quotes from the compile command, as the compiler is not expecting
|
||||
# quoted arguments (see discussion on D62063 for when this can come up). If
|
||||
# the quotes were there for arugments with spaces in them, the quotes were
|
||||
# the quotes were there for arguments with spaces in them, the quotes were
|
||||
# not going to help since the string gets split on spaces below.
|
||||
string(REPLACE "\"" "" test_compile_command "${test_compile_command}")
|
||||
|
||||
|
|
|
@ -462,7 +462,7 @@ if(APPLE)
|
|||
endforeach()
|
||||
endif()
|
||||
|
||||
# Explictly disable unsupported Sanitizer configurations.
|
||||
# Explicitly disable unsupported Sanitizer configurations.
|
||||
list(REMOVE_ITEM FUZZER_SUPPORTED_OS "watchos")
|
||||
list(REMOVE_ITEM FUZZER_SUPPORTED_OS "watchossim")
|
||||
|
||||
|
|
|
@ -316,7 +316,7 @@ void *__asan_addr_is_in_fake_stack(void *fake_stack, void *addr, void **beg,
|
|||
void __asan_handle_no_return(void);
|
||||
|
||||
/// Update allocation stack trace for the given allocation to the current stack
|
||||
/// trace. Returns 1 if successfull, 0 if not.
|
||||
/// trace. Returns 1 if successful, 0 if not.
|
||||
int __asan_update_allocation_context(void* addr);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -28,7 +28,7 @@ typedef struct {
|
|||
// Enable sandbox support in sanitizer coverage.
|
||||
int coverage_sandboxed;
|
||||
// File descriptor to write coverage data to. If -1 is passed, a file will
|
||||
// be pre-opened by __sanitizer_sandobx_on_notify(). This field has no
|
||||
// be pre-opened by __sanitizer_sandbox_on_notify(). This field has no
|
||||
// effect if coverage_sandboxed == 0.
|
||||
intptr_t coverage_fd;
|
||||
// If non-zero, split the coverage data into well-formed blocks. This is
|
||||
|
|
|
@ -581,7 +581,7 @@ INTERCEPTOR(int, atexit, void (*func)()) {
|
|||
#if CAN_SANITIZE_LEAKS
|
||||
__lsan::ScopedInterceptorDisabler disabler;
|
||||
#endif
|
||||
// Avoid calling real atexit as it is unrechable on at least on Linux.
|
||||
// Avoid calling real atexit as it is unreachable on at least on Linux.
|
||||
int res = REAL(__cxa_atexit)((void (*)(void *a))func, nullptr, nullptr);
|
||||
REAL(__cxa_atexit)(AtCxaAtexit, nullptr, nullptr);
|
||||
return res;
|
||||
|
|
|
@ -155,7 +155,7 @@ class ScopedInErrorReport {
|
|||
DumpProcessMap();
|
||||
|
||||
// Copy the message buffer so that we could start logging without holding a
|
||||
// lock that gets aquired during printing.
|
||||
// lock that gets acquired during printing.
|
||||
InternalMmapVector<char> buffer_copy(kErrorMessageBufferSize);
|
||||
{
|
||||
Lock l(&error_message_buf_mutex);
|
||||
|
|
|
@ -90,7 +90,7 @@ TEST(AddressSanitizerInterface, GetCurrentAllocatedBytesTest) {
|
|||
TEST(AddressSanitizerInterface, GetHeapSizeTest) {
|
||||
// ASan allocator does not keep huge chunks in free list, but unmaps them.
|
||||
// The chunk should be greater than the quarantine size,
|
||||
// otherwise it will be stuck in quarantine instead of being unmaped.
|
||||
// otherwise it will be stuck in quarantine instead of being unmapped.
|
||||
static const size_t kLargeMallocSize = (1 << 28) + 1; // 256M
|
||||
free(Ident(malloc(kLargeMallocSize))); // Drain quarantine.
|
||||
size_t old_heap_size = __sanitizer_get_heap_size();
|
||||
|
|
|
@ -271,8 +271,8 @@ switchu8
|
|||
|
||||
// There is no C interface to the *_vfp_d8_d15_regs functions. There are
|
||||
// called in the prolog and epilog of Thumb1 functions. When the C++ ABI use
|
||||
// SJLJ for exceptions, each function with a catch clause or destuctors needs
|
||||
// to save and restore all registers in it prolog and epliog. But there is
|
||||
// SJLJ for exceptions, each function with a catch clause or destructors needs
|
||||
// to save and restore all registers in it prolog and epilog. But there is
|
||||
// no way to access vector and high float registers from thumb1 code, so the
|
||||
// compiler must add call outs to these helper functions in the prolog and
|
||||
// epilog.
|
||||
|
@ -311,9 +311,9 @@ double __floatsidfvfp(int a); // Appears to convert from
|
|||
float __floatsisfvfp(int a); // Appears to convert from
|
||||
// int to float.
|
||||
double __floatunssidfvfp(unsigned int a); // Appears to convert from
|
||||
// unisgned int to double.
|
||||
// unsigned int to double.
|
||||
float __floatunssisfvfp(unsigned int a); // Appears to convert from
|
||||
// unisgned int to float.
|
||||
// unsigned int to float.
|
||||
int __gedf2vfp(double a, double b); // Appears to return __gedf2
|
||||
// (a >= b)
|
||||
int __gesf2vfp(float a, float b); // Appears to return __gesf2
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
//
|
||||
// extern float __truncdfsf2vfp(double a);
|
||||
//
|
||||
// Converts double precision float to signle precision result.
|
||||
// Converts double precision float to single precision result.
|
||||
// Uses Darwin calling convention where a double precision parameter is
|
||||
// passed in a R0/R1 pair and a signle precision result is returned in R0.
|
||||
// passed in a R0/R1 pair and a single precision result is returned in R0.
|
||||
//
|
||||
.syntax unified
|
||||
.p2align 2
|
||||
|
|
|
@ -150,7 +150,7 @@ static void win_error(DWORD last_err, const char *hint) {
|
|||
NULL, last_err, 0, (LPSTR)&buffer, 1, NULL)) {
|
||||
fprintf(stderr, "Windows error: %s\n", buffer);
|
||||
} else {
|
||||
fprintf(stderr, "Unkown Windows error: %s\n", hint);
|
||||
fprintf(stderr, "Unknown Windows error: %s\n", hint);
|
||||
}
|
||||
LocalFree(buffer);
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
// mmmm mmmm mmmm
|
||||
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
// MSVC throws a warning about 'unitialized variable use' here,
|
||||
// MSVC throws a warning about 'uninitialized variable use' here,
|
||||
// disable it for builds that warn-as-error
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4700)
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
// mmmm mmmm mmmm
|
||||
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
// MSVC throws a warning about 'unitialized variable use' here,
|
||||
// MSVC throws a warning about 'uninitialized variable use' here,
|
||||
// disable it for builds that warn-as-error
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4700)
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
// mmmm mmmm mmmm
|
||||
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
// MSVC throws a warning about 'unitialized variable use' here,
|
||||
// MSVC throws a warning about 'uninitialized variable use' here,
|
||||
// disable it for builds that warn-as-error
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 4700)
|
||||
|
|
|
@ -269,7 +269,7 @@ fun:strrchr=custom
|
|||
fun:strstr=custom
|
||||
|
||||
# Functions which take action based on global state, such as running a callback
|
||||
# set by a sepperate function.
|
||||
# set by a separate function.
|
||||
fun:write=custom
|
||||
|
||||
# Functions that take a callback (wrap the callback manually).
|
||||
|
|
|
@ -77,7 +77,7 @@ endif()
|
|||
|
||||
if(MSVC)
|
||||
# Silence warnings by turning off exceptions in MSVC headers and avoid an
|
||||
# error by unecessarily defining thread_local when it isn't even used on
|
||||
# error by unnecessarily defining thread_local when it isn't even used on
|
||||
# Windows.
|
||||
list(APPEND LIBFUZZER_CFLAGS -D_HAS_EXCEPTIONS=0)
|
||||
else()
|
||||
|
|
|
@ -37,7 +37,7 @@ bool BlockCoverage::AppendCoverage(const std::string &S) {
|
|||
// Coverage lines have this form:
|
||||
// CN X Y Z T
|
||||
// where N is the number of the function, T is the total number of instrumented
|
||||
// BBs, and X,Y,Z, if present, are the indecies of covered BB.
|
||||
// BBs, and X,Y,Z, if present, are the indices of covered BB.
|
||||
// BB #0, which is the entry block, is not explicitly listed.
|
||||
bool BlockCoverage::AppendCoverage(std::istream &IN) {
|
||||
std::string L;
|
||||
|
|
|
@ -358,7 +358,7 @@ void FuzzWithFork(Random &Rand, const FuzzingOptions &Options,
|
|||
|
||||
Env.RunOneMergeJob(Job.get());
|
||||
|
||||
// Continue if our crash is one of the ignorred ones.
|
||||
// Continue if our crash is one of the ignored ones.
|
||||
if (Options.IgnoreTimeouts && ExitCode == Options.TimeoutExitCode)
|
||||
Env.NumTimeouts++;
|
||||
else if (Options.IgnoreOOMs && ExitCode == Options.OOMExitCode)
|
||||
|
|
|
@ -378,7 +378,7 @@ void CrashResistantMerge(const std::vector<std::string> &Args,
|
|||
}
|
||||
auto ExitCode = ExecuteCommand(Cmd);
|
||||
if (!ExitCode) {
|
||||
VPrintf(V, "MERGE-OUTER: succesfull in %zd attempt(s)\n", Attempt);
|
||||
VPrintf(V, "MERGE-OUTER: successful in %zd attempt(s)\n", Attempt);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -398,7 +398,7 @@ static size_t InternalStrnlen(const char *S, size_t MaxLen) {
|
|||
}
|
||||
|
||||
// Finds min of (strlen(S1), strlen(S2)).
|
||||
// Needed bacause one of these strings may actually be non-zero terminated.
|
||||
// Needed because one of these strings may actually be non-zero terminated.
|
||||
static size_t InternalStrnlen2(const char *S1, const char *S2) {
|
||||
size_t Len = 0;
|
||||
for (; S1[Len] && S2[Len]; Len++) {}
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
// tramp: jmp QWORD [addr]
|
||||
// addr: .bytes <hook>
|
||||
//
|
||||
// Note: <real> is equilavent to <label>.
|
||||
// Note: <real> is equivalent to <label>.
|
||||
//
|
||||
// 3) HotPatch
|
||||
//
|
||||
|
|
|
@ -121,7 +121,7 @@ const MappingDesc kMemoryLayout[] = {
|
|||
// The mappings below are used only for 48-bits VMA.
|
||||
// TODO(unknown): 48-bit mapping ony covers the usual PIE, non-PIE
|
||||
// segments and some more segments totalizing 262144GB of VMA (which cover
|
||||
// only 0.32% of all 48-bit VMA). Memory avaliability can be increase by
|
||||
// only 0.32% of all 48-bit VMA). Memory availability can be increase by
|
||||
// adding multiple application segments like 39 and 42 mapping.
|
||||
{0x0040000000000ULL, 0x0041000000000ULL, MappingDesc::INVALID, "invalid"},
|
||||
{0x0041000000000ULL, 0x0042000000000ULL, MappingDesc::APP, "app-10"},
|
||||
|
@ -219,7 +219,7 @@ const MappingDesc kMemoryLayout[] = {
|
|||
#elif SANITIZER_NETBSD || (SANITIZER_LINUX && SANITIZER_WORDSIZE == 64)
|
||||
|
||||
#ifdef MSAN_LINUX_X86_64_OLD_MAPPING
|
||||
// Requries PIE binary and ASLR enabled.
|
||||
// Requires PIE binary and ASLR enabled.
|
||||
// Main thread stack and DSOs at 0x7f0000000000 (sometimes 0x7e0000000000).
|
||||
// Heap at 0x600000000000.
|
||||
const MappingDesc kMemoryLayout[] = {
|
||||
|
|
|
@ -1144,7 +1144,7 @@ INTERCEPTOR(int, __cxa_atexit, void (*func)(void *), void *arg,
|
|||
|
||||
// Unpoison argument shadow for C++ module destructors.
|
||||
INTERCEPTOR(int, atexit, void (*func)()) {
|
||||
// Avoid calling real atexit as it is unrechable on at least on Linux.
|
||||
// Avoid calling real atexit as it is unreachable on at least on Linux.
|
||||
if (msan_init_is_running)
|
||||
return REAL(__cxa_atexit)((void (*)(void *a))func, 0, 0);
|
||||
return setup_at_exit_wrapper((void(*)())func, 0, 0);
|
||||
|
|
|
@ -31,7 +31,7 @@ SANITIZER_INTERFACE_ATTRIBUTE
|
|||
void __msan_warning();
|
||||
|
||||
// Print a warning and die.
|
||||
// Intrumentation inserts calls to this function when building in "fast" mode
|
||||
// Instrumentation inserts calls to this function when building in "fast" mode
|
||||
// (i.e. -mllvm -msan-keep-going)
|
||||
SANITIZER_INTERFACE_ATTRIBUTE __attribute__((noreturn))
|
||||
void __msan_warning_noreturn();
|
||||
|
|
|
@ -150,7 +150,7 @@ int __llvm_profile_write_file(void);
|
|||
int __llvm_orderfile_write_file(void);
|
||||
/*!
|
||||
* \brief this is a wrapper interface to \c __llvm_profile_write_file.
|
||||
* After this interface is invoked, a arleady dumped flag will be set
|
||||
* After this interface is invoked, an already dumped flag will be set
|
||||
* so that profile won't be dumped again during program exit.
|
||||
* Invocation of interface __llvm_profile_reset_counters will clear
|
||||
* the flag. This interface is designed to be used to collect profile
|
||||
|
|
|
@ -145,8 +145,8 @@ typedef struct VPDataReaderType {
|
|||
uint32_t N);
|
||||
} VPDataReaderType;
|
||||
|
||||
/* Write profile data to destinitation. If SkipNameDataWrite is set to 1,
|
||||
the name data is already in destintation, we just skip over it. */
|
||||
/* Write profile data to destination. If SkipNameDataWrite is set to 1,
|
||||
the name data is already in destination, we just skip over it. */
|
||||
int lprofWriteData(ProfDataWriter *Writer, VPDataReaderType *VPDataReader,
|
||||
int SkipNameDataWrite);
|
||||
int lprofWriteDataImpl(ProfDataWriter *Writer,
|
||||
|
|
|
@ -253,7 +253,7 @@ __llvm_profile_instrument_memop(uint64_t TargetValue, void *Data,
|
|||
/*
|
||||
* A wrapper struct that represents value profile runtime data.
|
||||
* Like InstrProfRecord class which is used by profiling host tools,
|
||||
* ValueProfRuntimeRecord also implements the abstract intefaces defined in
|
||||
* ValueProfRuntimeRecord also implements the abstract interfaces defined in
|
||||
* ValueProfRecordClosure so that the runtime data can be serialized using
|
||||
* shared C implementation.
|
||||
*/
|
||||
|
|
|
@ -32,7 +32,7 @@ static uint32_t VPDataArraySize = sizeof(VPDataArray) / sizeof(*VPDataArray);
|
|||
COMPILER_RT_VISIBILITY uint8_t *DynamicBufferIOBuffer = 0;
|
||||
COMPILER_RT_VISIBILITY uint32_t VPBufferSize = 0;
|
||||
|
||||
/* The buffer writer is reponsponsible in keeping writer state
|
||||
/* The buffer writer is responsible in keeping writer state
|
||||
* across the call.
|
||||
*/
|
||||
COMPILER_RT_VISIBILITY uint32_t lprofBufferWriter(ProfDataWriter *This,
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#endif
|
||||
|
||||
SANCOV_FLAG(bool, symbolize, true,
|
||||
"If set, converage information will be symbolized by sancov tool "
|
||||
"If set, coverage information will be symbolized by sancov tool "
|
||||
"after dumping.")
|
||||
|
||||
SANCOV_FLAG(bool, help, false, "Print flags help.")
|
||||
|
|
|
@ -625,7 +625,7 @@ class SizeClassAllocator64 {
|
|||
|
||||
static const uptr kRegionSize = kSpaceSize / kNumClassesRounded;
|
||||
// FreeArray is the array of free-d chunks (stored as 4-byte offsets).
|
||||
// In the worst case it may reguire kRegionSize/SizeClassMap::kMinSize
|
||||
// In the worst case it may require kRegionSize/SizeClassMap::kMinSize
|
||||
// elements, but in reality this will not happen. For simplicity we
|
||||
// dedicate 1/8 of the region's virtual space to FreeArray.
|
||||
static const uptr kFreeArraySize = kRegionSize / 8;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Various support for assemebler.
|
||||
// Various support for assembler.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace __sanitizer {
|
|||
|
||||
// MIPS32 does not support atomics > 4 bytes. To address this lack of
|
||||
// functionality, the sanitizer library provides helper methods which use an
|
||||
// internal spin lock mechanism to emulate atomic oprations when the size is
|
||||
// internal spin lock mechanism to emulate atomic operations when the size is
|
||||
// 8 bytes.
|
||||
static void __spin_lock(volatile int *lock) {
|
||||
while (__sync_lock_test_and_set(lock, 1))
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
// instantiated with the `LocalAddressSpaceView` type. This type is used to
|
||||
// load any pointers in instance methods. This implementation is effectively
|
||||
// a no-op. When an object is to be used in an out-of-process manner it is
|
||||
// instansiated with the `RemoteAddressSpaceView` type.
|
||||
// instantiated with the `RemoteAddressSpaceView` type.
|
||||
//
|
||||
// By making `AddressSpaceView` a template parameter of an object, it can
|
||||
// change its implementation at compile time which has no run time overhead.
|
||||
|
|
|
@ -65,7 +65,7 @@ void BufferedStackTrace::Init(const uptr *pcs, uptr cnt, uptr extra_top_pc) {
|
|||
top_frame_bp = 0;
|
||||
}
|
||||
|
||||
// Sparc implemention is in its own file.
|
||||
// Sparc implementation is in its own file.
|
||||
#if !defined(__sparc__)
|
||||
|
||||
// In GCC on ARM bp points to saved lr, not fp, so we should check the next
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
// This file is shared between AddressSanitizer and ThreadSanitizer
|
||||
// run-time libraries.
|
||||
//
|
||||
// Implemention of fast stack unwinding for Sparc.
|
||||
// Implementation of fast stack unwinding for Sparc.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#if defined(__sparc__)
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace __sanitizer {
|
|||
|
||||
// Parsing helpers, 'str' is searched for delimiter(s) and a string or uptr
|
||||
// is extracted. When extracting a string, a newly allocated (using
|
||||
// InternalAlloc) and null-terminataed buffer is returned. They return a pointer
|
||||
// InternalAlloc) and null-terminated buffer is returned. They return a pointer
|
||||
// to the next characted after the found delimiter.
|
||||
const char *ExtractToken(const char *str, const char *delims, char **result);
|
||||
const char *ExtractInt(const char *str, const char *delims, int *result);
|
||||
|
|
|
@ -30,7 +30,7 @@ if(ANDROID)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
# The minimal Scudo runtime does not inlude the UBSan runtime.
|
||||
# The minimal Scudo runtime does not include the UBSan runtime.
|
||||
set(SCUDO_MINIMAL_OBJECT_LIBS
|
||||
RTSanitizerCommonNoTermination
|
||||
RTSanitizerCommonLibc
|
||||
|
|
|
@ -72,9 +72,9 @@
|
|||
// clk_ - variable size vector clock, low kClkBits hold timestamp,
|
||||
// the remaining bits hold "acquired" flag (the actual value is thread's
|
||||
// reused counter);
|
||||
// if acquried == thr->reused_, then the respective thread has already
|
||||
// if acquired == thr->reused_, then the respective thread has already
|
||||
// acquired this clock (except possibly for dirty elements).
|
||||
// dirty_ - holds up to two indeces in the vector clock that other threads
|
||||
// dirty_ - holds up to two indices in the vector clock that other threads
|
||||
// need to acquire regardless of "acquired" flag value;
|
||||
// release_store_tid_ - denotes that the clock state is a result of
|
||||
// release-store operation by the thread with release_store_tid_ index.
|
||||
|
@ -272,7 +272,7 @@ void ThreadClock::ReleaseStore(ClockCache *c, SyncClock *dst) {
|
|||
// we could update the existing clock and cache it, or replace it with the
|
||||
// currently cached clock and release the old one. And for a shared
|
||||
// existing clock, we could replace it with the currently cached;
|
||||
// or unshare, update and cache. But, for simplicity, we currnetly reuse
|
||||
// or unshare, update and cache. But, for simplicity, we currently reuse
|
||||
// cached clock only when the target clock is empty.
|
||||
dst->tab_ = ctx->clock_alloc.Map(cached_idx_);
|
||||
dst->tab_idx_ = cached_idx_;
|
||||
|
@ -285,7 +285,7 @@ void ThreadClock::ReleaseStore(ClockCache *c, SyncClock *dst) {
|
|||
dst->dirty_[0].epoch = clk_[tid_];
|
||||
dst->release_store_tid_ = tid_;
|
||||
dst->release_store_reused_ = reused_;
|
||||
// Rememeber that we don't need to acquire it in future.
|
||||
// Remember that we don't need to acquire it in future.
|
||||
dst->elem(tid_).reused = reused_;
|
||||
// Grab a reference.
|
||||
atomic_fetch_add(ref_ptr(dst->tab_), 1, memory_order_relaxed);
|
||||
|
@ -316,7 +316,7 @@ void ThreadClock::ReleaseStore(ClockCache *c, SyncClock *dst) {
|
|||
for (uptr i = 0; i < kDirtyTids; i++) dst->dirty_[i].set_tid(kInvalidTid);
|
||||
dst->release_store_tid_ = tid_;
|
||||
dst->release_store_reused_ = reused_;
|
||||
// Rememeber that we don't need to acquire it in future.
|
||||
// Remember that we don't need to acquire it in future.
|
||||
dst->elem(tid_).reused = reused_;
|
||||
|
||||
// If the resulting clock is cachable, cache it for future release operations.
|
||||
|
|
|
@ -213,7 +213,7 @@ class ThreadClock {
|
|||
// We reuse it for subsequent store-release operations without intervening
|
||||
// acquire operations. Since it is shared (and thus constant), clock value
|
||||
// for the current thread is then stored in dirty entries in the SyncClock.
|
||||
// We host a refernece to the table while it is cached here.
|
||||
// We host a reference to the table while it is cached here.
|
||||
u32 cached_idx_;
|
||||
u16 cached_size_;
|
||||
u16 cached_blocks_;
|
||||
|
|
|
@ -405,8 +405,8 @@ TSAN_INTERCEPTOR(int, swapcontext, ucontext_t *oucp, const ucontext_t *ucp) {
|
|||
{
|
||||
SCOPED_INTERCEPTOR_RAW(swapcontext, oucp, ucp);
|
||||
}
|
||||
// Bacause of swapcontext() semantics we have no option but to copy its
|
||||
// impementation here
|
||||
// Because of swapcontext() semantics we have no option but to copy its
|
||||
// implementation here
|
||||
if (!oucp || !ucp) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
|
|
|
@ -1961,7 +1961,7 @@ static void CallUserSignalHandler(ThreadState *thr, bool sync, bool acquire,
|
|||
Acquire(thr, 0, (uptr)&sigactions[sig]);
|
||||
// Signals are generally asynchronous, so if we receive a signals when
|
||||
// ignores are enabled we should disable ignores. This is critical for sync
|
||||
// and interceptors, because otherwise we can miss syncronization and report
|
||||
// and interceptors, because otherwise we can miss synchronization and report
|
||||
// false races.
|
||||
int ignore_reads_and_writes = thr->ignore_reads_and_writes;
|
||||
int ignore_interceptors = thr->ignore_interceptors;
|
||||
|
|
|
@ -332,7 +332,7 @@ int ExtractResolvFDs(void *state, int *fds, int nfd) {
|
|||
}
|
||||
|
||||
// Extract file descriptors passed via UNIX domain sockets.
|
||||
// This is requried to properly handle "open" of these fds.
|
||||
// This is required to properly handle "open" of these fds.
|
||||
// see 'man recvmsg' and 'man 3 cmsg'.
|
||||
int ExtractRecvmsgFDs(void *msgp, int *fds, int nfd) {
|
||||
int res = 0;
|
||||
|
|
|
@ -285,7 +285,7 @@ void MapShadow(uptr addr, uptr size) {
|
|||
"meta shadow"))
|
||||
Die();
|
||||
} else {
|
||||
// Mapping continous heap.
|
||||
// Mapping continuous heap.
|
||||
// Windows wants 64K alignment.
|
||||
meta_begin = RoundDownTo(meta_begin, 64 << 10);
|
||||
meta_end = RoundUpTo(meta_end, 64 << 10);
|
||||
|
|
|
@ -280,8 +280,8 @@ TEST(FunctionCallTrieTest, MergeInto) {
|
|||
|
||||
// We use a different allocator here to make sure that we're able to transfer
|
||||
// data into a FunctionCallTrie which uses a different allocator. This
|
||||
// reflects the inteded usage scenario for when we're collecting profiles that
|
||||
// aggregate across threads.
|
||||
// reflects the intended usage scenario for when we're collecting profiles
|
||||
// that aggregate across threads.
|
||||
auto B = FunctionCallTrie::InitAllocators();
|
||||
FunctionCallTrie Merged(B);
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file is a part of XRay, a dynamic runtime instruementation system.
|
||||
// This file is a part of XRay, a dynamic runtime instrumentation system.
|
||||
//
|
||||
// XRay Basic Mode runtime flags.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file is a part of XRay, a dynamic runtime instruementation system.
|
||||
// This file is a part of XRay, a dynamic runtime instrumentation system.
|
||||
//
|
||||
// Defines the interface for a buffer queue implementation.
|
||||
//
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file is a part of XRay, a dynamic runtime instruementation system.
|
||||
// This file is a part of XRay, a dynamic runtime instrumentation system.
|
||||
//
|
||||
// XRay runtime flags.
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -360,7 +360,7 @@ XRayPatchingStatus mprotectAndPatchFunction(int32_t FuncId,
|
|||
return XRayPatchingStatus::FAILED;
|
||||
}
|
||||
|
||||
// Here we compute the minumum sled and maximum sled associated with a
|
||||
// Here we compute the minimum sled and maximum sled associated with a
|
||||
// particular function ID.
|
||||
auto SledRange = InstrMap.SledsIndex ? InstrMap.SledsIndex[FuncId - 1]
|
||||
: findFunctionSleds(FuncId, InstrMap);
|
||||
|
|
|
@ -402,7 +402,7 @@ profilingLoggingInit(size_t, size_t, void *Options,
|
|||
return XRayLogInitStatus::XRAY_LOG_UNINITIALIZED;
|
||||
}
|
||||
|
||||
// If we've succeded, set the global pointer to the initialised storage.
|
||||
// If we've succeeded, set the global pointer to the initialised storage.
|
||||
BQ = reinterpret_cast<BufferQueue *>(&BufferQueueStorage);
|
||||
} else {
|
||||
BQ->finalize();
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
// CONFIG rdar://6639533
|
||||
|
||||
// The compiler is prefetching x->forwarding before evaluting code that recomputes forwarding and so the value goes to a place that is never seen again.
|
||||
// The compiler is prefetching x->forwarding before evaluating code that recomputes forwarding and so the value goes to a place that is never seen again.
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Check that we detect malloc/delete mismatch only if the approptiate flag
|
||||
// Check that we detect malloc/delete mismatch only if the appropriate flag
|
||||
// is set.
|
||||
|
||||
// RUN: %clangxx_asan -g %s -o %t 2>&1
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
//
|
||||
// Get the list of ASan wrappers imported by the DLL RTL:
|
||||
// [BEWARE: be really careful with the sed commands, as this test can be run
|
||||
// from different environemnts with different shells and seds]
|
||||
// from different environments with different shells and seds]
|
||||
// RUN: grep INTERCEPT_LIBRARY_FUNCTION %p/../../../../lib/asan/asan_win_dll_thunk.cpp \
|
||||
// RUN: | grep -v define | sed -e s/.*(/__asan_wrap_/ -e s/).*// \
|
||||
// RUN: > %t.imports1
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// RUN: | sed -e s/@.*// > %t.exports
|
||||
//
|
||||
// [BEWARE: be really careful with the sed commands, as this test can be run
|
||||
// from different environemnts with different shells and seds]
|
||||
// from different environments with different shells and seds]
|
||||
//
|
||||
// RUN: grep -e "INTERFACE_FUNCTION" \
|
||||
// RUN: %p/../../../../lib/asan/asan_interface.inc \
|
||||
|
|
|
@ -40,7 +40,7 @@ void TestContainer(size_t capacity) {
|
|||
}
|
||||
}
|
||||
|
||||
// Don't forget to unpoison the whole thing before destroing/reallocating.
|
||||
// Don't forget to unpoison the whole thing before destroying/reallocating.
|
||||
__sanitizer_annotate_contiguous_container(beg, end, mid, end);
|
||||
for (size_t idx = 0; idx < capacity; idx++)
|
||||
assert(!__asan_address_is_poisoned(beg + idx));
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
// "x", "y", "z" are dynamically initialized globals.
|
||||
// Value of "x" depends on "y", value of "y" depends on "z".
|
||||
// "x" and "z" are defined in this TU, "y" is defined in another one.
|
||||
// Thus we shoud stably report initialization order fiasco independently of
|
||||
// Thus we should stably report initialization order fiasco independently of
|
||||
// the translation unit order.
|
||||
|
||||
int initZ() {
|
||||
|
|
|
@ -24,7 +24,7 @@ static int func2() { return 2; }
|
|||
|
||||
void __attribute__((noinline))
|
||||
memcpy_f(void *dst, const void *src, size_t n) {
|
||||
// ARM and MIPS nartually align functions, but use the LSB for ISA selection
|
||||
// ARM and MIPS naturally align functions, but use the LSB for ISA selection
|
||||
// (THUMB, MIPS16/uMIPS respectively). Ensure that the ISA bit is ignored in
|
||||
// the memcpy
|
||||
#if defined(__arm__) || defined(__mips__)
|
||||
|
|
|
@ -16,7 +16,7 @@ static int func2() { return 2; }
|
|||
|
||||
void *__attribute__((noinline))
|
||||
memcpy_f(void *dst, const void *src, size_t n) {
|
||||
// ARM and MIPS nartually align functions, but use the LSB for ISA selection
|
||||
// ARM and MIPS naturally align functions, but use the LSB for ISA selection
|
||||
// (THUMB, MIPS16/uMIPS respectively). Ensure that the ISA bit is ignored in
|
||||
// the memcpy
|
||||
#if defined(__arm__) || defined(__mips__)
|
||||
|
|
|
@ -138,7 +138,7 @@ static inline int compareResultD(double result,
|
|||
|
||||
#if __LDBL_MANT_DIG__ == 113
|
||||
// return 0 if equal
|
||||
// use two 64-bit integers intead of one 128-bit integer
|
||||
// use two 64-bit integers instead of one 128-bit integer
|
||||
// because 128-bit integer constant can't be assigned directly
|
||||
static inline int compareResultLD(long double result,
|
||||
uint64_t expectedHi,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
// Simple test for a cutom crossover.
|
||||
// Simple test for a custom crossover.
|
||||
#include <assert.h>
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
|
||||
// Simple test for a cutom mutator.
|
||||
// Simple test for a custom mutator.
|
||||
#include <assert.h>
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
|
|
@ -52,7 +52,7 @@ RUN: rm %t/T1/*
|
|||
RUN: cp %t/T0/* %t/T1/
|
||||
RUN: echo 'FUZZER' > %t/T2/FUZZER
|
||||
RUN: %run %t-FullCoverageSetTest -merge=1 %t/T1 %t/T2 2>&1 | FileCheck %s --check-prefix=MERGE_WITH_CRASH
|
||||
MERGE_WITH_CRASH: MERGE-OUTER: succesfull in 2 attempt(s)
|
||||
MERGE_WITH_CRASH: MERGE-OUTER: successful in 2 attempt(s)
|
||||
MERGE_WITH_CRASH: MERGE-OUTER: 3 new files
|
||||
|
||||
# Check that we actually limit the size with max_len
|
||||
|
@ -61,5 +61,5 @@ RUN: echo 'FUZZER' > %t/T2/FUZZER
|
|||
RUN: %run %t-FullCoverageSetTest -merge=1 %t/T1 %t/T2 -max_len=5 2>&1 | FileCheck %s --check-prefix=MERGE_LEN5
|
||||
RUN: not grep FUZZER %t/T1/*
|
||||
RUN: grep FUZZE %t/T1/*
|
||||
MERGE_LEN5: MERGE-OUTER: succesfull in 1 attempt(s)
|
||||
MERGE_LEN5: MERGE-OUTER: successful in 1 attempt(s)
|
||||
|
||||
|
|
|
@ -620,7 +620,7 @@ for postfix in ["2", "1", ""]:
|
|||
config.substitutions.append( ("%xdynamiclib_filename" + postfix, 'lib%xdynamiclib_namespec{}.so'.format(postfix)) )
|
||||
config.substitutions.append( ("%xdynamiclib_namespec", '%basename_t.dynamic') )
|
||||
|
||||
# Provide a substituion that can be used to tell Clang to use a static libstdc++.
|
||||
# Provide a substitution that can be used to tell Clang to use a static libstdc++.
|
||||
# The substitution expands to nothing on non Linux platforms.
|
||||
# FIXME: This should check the target OS, not the host OS.
|
||||
if config.host_os == 'Linux':
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#define NO_OVERFLOW(x) assert(__msan_test_shadow(&x, sizeof(x)) == 0)
|
||||
|
||||
#if defined(__x86_64__)
|
||||
// In x86_64, if argument is partially outside tls, it is considered completly
|
||||
// In x86_64, if argument is partially outside tls, it is considered completely
|
||||
// unpoisoned
|
||||
#define PARTIAL_OVERFLOW(x) OVERFLOW(x)
|
||||
#else
|
||||
|
|
|
@ -84,7 +84,7 @@ foreach(tool ${SUPPORTED_TOOLS})
|
|||
configure_lit_site_cfg(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg.py)
|
||||
# FIXME(dliew): LSan i386 on Darwin is completly broken right now.
|
||||
# FIXME(dliew): LSan i386 on Darwin is completely broken right now.
|
||||
# so don't run the tests by default.
|
||||
if (NOT (CMAKE_SYSTEM_NAME MATCHES "Darwin" AND
|
||||
${tool} STREQUAL "lsan" AND
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
// Check that all new/delete variants are defined and work with supported
|
||||
// sanitizers. Sanitizer-specific failure modes tests are supposed to go to
|
||||
// the particular sanitizier's test suites.
|
||||
// the particular sanitizer's test suites.
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// RUN: %clangxx_tsan -O1 --std=c++11 %s -o %t && %run %t 2>&1 | FileCheck %s
|
||||
#include "custom_mutex.h"
|
||||
|
||||
// Test that custom annoations provide normal mutex synchronization
|
||||
// Test that custom annotations provide normal mutex synchronization
|
||||
// (no race reports for properly protected critical sections).
|
||||
|
||||
Mutex mu(true, 0);
|
||||
|
|
|
@ -53,5 +53,5 @@ int main() {
|
|||
|
||||
// CHECK: WARNING: ThreadSanitizer: data race
|
||||
// CHECK: #100 foo
|
||||
// We must output suffucuently large stack (at least 100 frames)
|
||||
// We must output sufficiently large stack (at least 100 frames)
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ void *Thread(void *x) {
|
|||
char buf;
|
||||
int n = read(fd, &buf, 1);
|
||||
if (n != 1) {
|
||||
// This read can "legitimately" fail regadless of the fact that glibc claims
|
||||
// This read can "legitimately" fail regardless of the fact that glibc claims
|
||||
// that "there is no instant in the middle of calling dup2 at which new is
|
||||
// closed and not yet a duplicate of old". Strace of the failing runs
|
||||
// looks as follows:
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#===------------------------------------------------------------------------===#
|
||||
|
||||
BEGIN {
|
||||
# harcode the script name
|
||||
# hardcode the script name
|
||||
script_name = "generate_netbsd_ioctls.awk"
|
||||
outputinc = "../lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc"
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#===------------------------------------------------------------------------===#
|
||||
|
||||
BEGIN {
|
||||
# harcode the script name
|
||||
# hardcode the script name
|
||||
script_name = "generate_netbsd_syscalls.awk"
|
||||
outputh = "../include/sanitizer/netbsd_syscall_hooks.h"
|
||||
outputinc = "../lib/sanitizer_common/sanitizer_syscalls_netbsd.inc"
|
||||
|
|
Loading…
Reference in New Issue
Block a user