[compiler-rt] NFC: Fix trivial typo

Reviewed By: xgupta

Differential Revision: https://reviews.llvm.org/D77457
This commit is contained in:
Kazuaki Ishizaki 2021-09-04 13:01:34 +05:30 committed by Shivam Gupta
parent d6ca91ea42
commit a1e7e401d2
69 changed files with 82 additions and 82 deletions

View File

@ -74,7 +74,7 @@ function(try_compile_only output)
# Strip quotes from the compile command, as the compiler is not expecting # 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 # 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. # not going to help since the string gets split on spaces below.
string(REPLACE "\"" "" test_compile_command "${test_compile_command}") string(REPLACE "\"" "" test_compile_command "${test_compile_command}")

View File

@ -462,7 +462,7 @@ if(APPLE)
endforeach() endforeach()
endif() endif()
# Explictly disable unsupported Sanitizer configurations. # Explicitly disable unsupported Sanitizer configurations.
list(REMOVE_ITEM FUZZER_SUPPORTED_OS "watchos") list(REMOVE_ITEM FUZZER_SUPPORTED_OS "watchos")
list(REMOVE_ITEM FUZZER_SUPPORTED_OS "watchossim") list(REMOVE_ITEM FUZZER_SUPPORTED_OS "watchossim")

View File

@ -316,7 +316,7 @@ void *__asan_addr_is_in_fake_stack(void *fake_stack, void *addr, void **beg,
void __asan_handle_no_return(void); void __asan_handle_no_return(void);
/// Update allocation stack trace for the given allocation to the current stack /// 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); int __asan_update_allocation_context(void* addr);
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -28,7 +28,7 @@ typedef struct {
// Enable sandbox support in sanitizer coverage. // Enable sandbox support in sanitizer coverage.
int coverage_sandboxed; int coverage_sandboxed;
// File descriptor to write coverage data to. If -1 is passed, a file will // 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. // effect if coverage_sandboxed == 0.
intptr_t coverage_fd; intptr_t coverage_fd;
// If non-zero, split the coverage data into well-formed blocks. This is // If non-zero, split the coverage data into well-formed blocks. This is

View File

@ -581,7 +581,7 @@ INTERCEPTOR(int, atexit, void (*func)()) {
#if CAN_SANITIZE_LEAKS #if CAN_SANITIZE_LEAKS
__lsan::ScopedInterceptorDisabler disabler; __lsan::ScopedInterceptorDisabler disabler;
#endif #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); int res = REAL(__cxa_atexit)((void (*)(void *a))func, nullptr, nullptr);
REAL(__cxa_atexit)(AtCxaAtexit, nullptr, nullptr); REAL(__cxa_atexit)(AtCxaAtexit, nullptr, nullptr);
return res; return res;

View File

@ -155,7 +155,7 @@ class ScopedInErrorReport {
DumpProcessMap(); DumpProcessMap();
// Copy the message buffer so that we could start logging without holding a // 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); InternalMmapVector<char> buffer_copy(kErrorMessageBufferSize);
{ {
Lock l(&error_message_buf_mutex); Lock l(&error_message_buf_mutex);

View File

@ -90,7 +90,7 @@ TEST(AddressSanitizerInterface, GetCurrentAllocatedBytesTest) {
TEST(AddressSanitizerInterface, GetHeapSizeTest) { TEST(AddressSanitizerInterface, GetHeapSizeTest) {
// ASan allocator does not keep huge chunks in free list, but unmaps them. // ASan allocator does not keep huge chunks in free list, but unmaps them.
// The chunk should be greater than the quarantine size, // 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 static const size_t kLargeMallocSize = (1 << 28) + 1; // 256M
free(Ident(malloc(kLargeMallocSize))); // Drain quarantine. free(Ident(malloc(kLargeMallocSize))); // Drain quarantine.
size_t old_heap_size = __sanitizer_get_heap_size(); size_t old_heap_size = __sanitizer_get_heap_size();

View File

@ -271,8 +271,8 @@ switchu8
// There is no C interface to the *_vfp_d8_d15_regs functions. There are // 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 // 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 // SJLJ for exceptions, each function with a catch clause or destructors needs
// to save and restore all registers in it prolog and epliog. But there is // 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 // 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 // compiler must add call outs to these helper functions in the prolog and
// epilog. // epilog.
@ -311,9 +311,9 @@ double __floatsidfvfp(int a); // Appears to convert from
float __floatsisfvfp(int a); // Appears to convert from float __floatsisfvfp(int a); // Appears to convert from
// int to float. // int to float.
double __floatunssidfvfp(unsigned int a); // Appears to convert from 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 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 int __gedf2vfp(double a, double b); // Appears to return __gedf2
// (a >= b) // (a >= b)
int __gesf2vfp(float a, float b); // Appears to return __gesf2 int __gesf2vfp(float a, float b); // Appears to return __gesf2

View File

@ -11,9 +11,9 @@
// //
// extern float __truncdfsf2vfp(double a); // 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 // 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 .syntax unified
.p2align 2 .p2align 2

View File

@ -150,7 +150,7 @@ static void win_error(DWORD last_err, const char *hint) {
NULL, last_err, 0, (LPSTR)&buffer, 1, NULL)) { NULL, last_err, 0, (LPSTR)&buffer, 1, NULL)) {
fprintf(stderr, "Windows error: %s\n", buffer); fprintf(stderr, "Windows error: %s\n", buffer);
} else { } else {
fprintf(stderr, "Unkown Windows error: %s\n", hint); fprintf(stderr, "Unknown Windows error: %s\n", hint);
} }
LocalFree(buffer); LocalFree(buffer);
} }

View File

@ -26,7 +26,7 @@
// mmmm mmmm mmmm // mmmm mmmm mmmm
#if defined(_MSC_VER) && !defined(__clang__) #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 // disable it for builds that warn-as-error
#pragma warning(push) #pragma warning(push)
#pragma warning(disable : 4700) #pragma warning(disable : 4700)

View File

@ -26,7 +26,7 @@
// mmmm mmmm mmmm // mmmm mmmm mmmm
#if defined(_MSC_VER) && !defined(__clang__) #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 // disable it for builds that warn-as-error
#pragma warning(push) #pragma warning(push)
#pragma warning(disable : 4700) #pragma warning(disable : 4700)

View File

@ -25,7 +25,7 @@
// mmmm mmmm mmmm // mmmm mmmm mmmm
#if defined(_MSC_VER) && !defined(__clang__) #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 // disable it for builds that warn-as-error
#pragma warning(push) #pragma warning(push)
#pragma warning(disable : 4700) #pragma warning(disable : 4700)

View File

@ -269,7 +269,7 @@ fun:strrchr=custom
fun:strstr=custom fun:strstr=custom
# Functions which take action based on global state, such as running a callback # 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 fun:write=custom
# Functions that take a callback (wrap the callback manually). # Functions that take a callback (wrap the callback manually).

View File

@ -77,7 +77,7 @@ endif()
if(MSVC) if(MSVC)
# Silence warnings by turning off exceptions in MSVC headers and avoid an # 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. # Windows.
list(APPEND LIBFUZZER_CFLAGS -D_HAS_EXCEPTIONS=0) list(APPEND LIBFUZZER_CFLAGS -D_HAS_EXCEPTIONS=0)
else() else()

View File

@ -37,7 +37,7 @@ bool BlockCoverage::AppendCoverage(const std::string &S) {
// Coverage lines have this form: // Coverage lines have this form:
// CN X Y Z T // CN X Y Z T
// where N is the number of the function, T is the total number of instrumented // 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. // BB #0, which is the entry block, is not explicitly listed.
bool BlockCoverage::AppendCoverage(std::istream &IN) { bool BlockCoverage::AppendCoverage(std::istream &IN) {
std::string L; std::string L;

View File

@ -358,7 +358,7 @@ void FuzzWithFork(Random &Rand, const FuzzingOptions &Options,
Env.RunOneMergeJob(Job.get()); 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) if (Options.IgnoreTimeouts && ExitCode == Options.TimeoutExitCode)
Env.NumTimeouts++; Env.NumTimeouts++;
else if (Options.IgnoreOOMs && ExitCode == Options.OOMExitCode) else if (Options.IgnoreOOMs && ExitCode == Options.OOMExitCode)

View File

@ -378,7 +378,7 @@ void CrashResistantMerge(const std::vector<std::string> &Args,
} }
auto ExitCode = ExecuteCommand(Cmd); auto ExitCode = ExecuteCommand(Cmd);
if (!ExitCode) { 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; break;
} }
} }

View File

@ -398,7 +398,7 @@ static size_t InternalStrnlen(const char *S, size_t MaxLen) {
} }
// Finds min of (strlen(S1), strlen(S2)). // 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) { static size_t InternalStrnlen2(const char *S1, const char *S2) {
size_t Len = 0; size_t Len = 0;
for (; S1[Len] && S2[Len]; Len++) {} for (; S1[Len] && S2[Len]; Len++) {}

View File

@ -56,7 +56,7 @@
// tramp: jmp QWORD [addr] // tramp: jmp QWORD [addr]
// addr: .bytes <hook> // addr: .bytes <hook>
// //
// Note: <real> is equilavent to <label>. // Note: <real> is equivalent to <label>.
// //
// 3) HotPatch // 3) HotPatch
// //

View File

@ -121,7 +121,7 @@ const MappingDesc kMemoryLayout[] = {
// The mappings below are used only for 48-bits VMA. // The mappings below are used only for 48-bits VMA.
// TODO(unknown): 48-bit mapping ony covers the usual PIE, non-PIE // TODO(unknown): 48-bit mapping ony covers the usual PIE, non-PIE
// segments and some more segments totalizing 262144GB of VMA (which cover // 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. // adding multiple application segments like 39 and 42 mapping.
{0x0040000000000ULL, 0x0041000000000ULL, MappingDesc::INVALID, "invalid"}, {0x0040000000000ULL, 0x0041000000000ULL, MappingDesc::INVALID, "invalid"},
{0x0041000000000ULL, 0x0042000000000ULL, MappingDesc::APP, "app-10"}, {0x0041000000000ULL, 0x0042000000000ULL, MappingDesc::APP, "app-10"},
@ -219,7 +219,7 @@ const MappingDesc kMemoryLayout[] = {
#elif SANITIZER_NETBSD || (SANITIZER_LINUX && SANITIZER_WORDSIZE == 64) #elif SANITIZER_NETBSD || (SANITIZER_LINUX && SANITIZER_WORDSIZE == 64)
#ifdef MSAN_LINUX_X86_64_OLD_MAPPING #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). // Main thread stack and DSOs at 0x7f0000000000 (sometimes 0x7e0000000000).
// Heap at 0x600000000000. // Heap at 0x600000000000.
const MappingDesc kMemoryLayout[] = { const MappingDesc kMemoryLayout[] = {

View File

@ -1144,7 +1144,7 @@ INTERCEPTOR(int, __cxa_atexit, void (*func)(void *), void *arg,
// Unpoison argument shadow for C++ module destructors. // Unpoison argument shadow for C++ module destructors.
INTERCEPTOR(int, atexit, void (*func)()) { 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) if (msan_init_is_running)
return REAL(__cxa_atexit)((void (*)(void *a))func, 0, 0); return REAL(__cxa_atexit)((void (*)(void *a))func, 0, 0);
return setup_at_exit_wrapper((void(*)())func, 0, 0); return setup_at_exit_wrapper((void(*)())func, 0, 0);

View File

@ -31,7 +31,7 @@ SANITIZER_INTERFACE_ATTRIBUTE
void __msan_warning(); void __msan_warning();
// Print a warning and die. // 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) // (i.e. -mllvm -msan-keep-going)
SANITIZER_INTERFACE_ATTRIBUTE __attribute__((noreturn)) SANITIZER_INTERFACE_ATTRIBUTE __attribute__((noreturn))
void __msan_warning_noreturn(); void __msan_warning_noreturn();

View File

@ -150,7 +150,7 @@ int __llvm_profile_write_file(void);
int __llvm_orderfile_write_file(void); int __llvm_orderfile_write_file(void);
/*! /*!
* \brief this is a wrapper interface to \c __llvm_profile_write_file. * \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. * so that profile won't be dumped again during program exit.
* Invocation of interface __llvm_profile_reset_counters will clear * Invocation of interface __llvm_profile_reset_counters will clear
* the flag. This interface is designed to be used to collect profile * the flag. This interface is designed to be used to collect profile

View File

@ -145,8 +145,8 @@ typedef struct VPDataReaderType {
uint32_t N); uint32_t N);
} VPDataReaderType; } VPDataReaderType;
/* Write profile data to destinitation. If SkipNameDataWrite is set to 1, /* Write profile data to destination. If SkipNameDataWrite is set to 1,
the name data is already in destintation, we just skip over it. */ the name data is already in destination, we just skip over it. */
int lprofWriteData(ProfDataWriter *Writer, VPDataReaderType *VPDataReader, int lprofWriteData(ProfDataWriter *Writer, VPDataReaderType *VPDataReader,
int SkipNameDataWrite); int SkipNameDataWrite);
int lprofWriteDataImpl(ProfDataWriter *Writer, int lprofWriteDataImpl(ProfDataWriter *Writer,

View File

@ -253,7 +253,7 @@ __llvm_profile_instrument_memop(uint64_t TargetValue, void *Data,
/* /*
* A wrapper struct that represents value profile runtime data. * A wrapper struct that represents value profile runtime data.
* Like InstrProfRecord class which is used by profiling host tools, * 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 * ValueProfRecordClosure so that the runtime data can be serialized using
* shared C implementation. * shared C implementation.
*/ */

View File

@ -32,7 +32,7 @@ static uint32_t VPDataArraySize = sizeof(VPDataArray) / sizeof(*VPDataArray);
COMPILER_RT_VISIBILITY uint8_t *DynamicBufferIOBuffer = 0; COMPILER_RT_VISIBILITY uint8_t *DynamicBufferIOBuffer = 0;
COMPILER_RT_VISIBILITY uint32_t VPBufferSize = 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. * across the call.
*/ */
COMPILER_RT_VISIBILITY uint32_t lprofBufferWriter(ProfDataWriter *This, COMPILER_RT_VISIBILITY uint32_t lprofBufferWriter(ProfDataWriter *This,

View File

@ -14,7 +14,7 @@
#endif #endif
SANCOV_FLAG(bool, symbolize, true, 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.") "after dumping.")
SANCOV_FLAG(bool, help, false, "Print flags help.") SANCOV_FLAG(bool, help, false, "Print flags help.")

View File

@ -625,7 +625,7 @@ class SizeClassAllocator64 {
static const uptr kRegionSize = kSpaceSize / kNumClassesRounded; static const uptr kRegionSize = kSpaceSize / kNumClassesRounded;
// FreeArray is the array of free-d chunks (stored as 4-byte offsets). // 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 // elements, but in reality this will not happen. For simplicity we
// dedicate 1/8 of the region's virtual space to FreeArray. // dedicate 1/8 of the region's virtual space to FreeArray.
static const uptr kFreeArraySize = kRegionSize / 8; static const uptr kFreeArraySize = kRegionSize / 8;

View File

@ -6,7 +6,7 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// //
// Various support for assemebler. // Various support for assembler.
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//

View File

@ -18,7 +18,7 @@ namespace __sanitizer {
// MIPS32 does not support atomics > 4 bytes. To address this lack of // MIPS32 does not support atomics > 4 bytes. To address this lack of
// functionality, the sanitizer library provides helper methods which use an // 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. // 8 bytes.
static void __spin_lock(volatile int *lock) { static void __spin_lock(volatile int *lock) {
while (__sync_lock_test_and_set(lock, 1)) while (__sync_lock_test_and_set(lock, 1))

View File

@ -17,7 +17,7 @@
// instantiated with the `LocalAddressSpaceView` type. This type is used to // instantiated with the `LocalAddressSpaceView` type. This type is used to
// load any pointers in instance methods. This implementation is effectively // 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 // 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 // By making `AddressSpaceView` a template parameter of an object, it can
// change its implementation at compile time which has no run time overhead. // change its implementation at compile time which has no run time overhead.

View File

@ -65,7 +65,7 @@ void BufferedStackTrace::Init(const uptr *pcs, uptr cnt, uptr extra_top_pc) {
top_frame_bp = 0; top_frame_bp = 0;
} }
// Sparc implemention is in its own file. // Sparc implementation is in its own file.
#if !defined(__sparc__) #if !defined(__sparc__)
// In GCC on ARM bp points to saved lr, not fp, so we should check the next // In GCC on ARM bp points to saved lr, not fp, so we should check the next

View File

@ -9,7 +9,7 @@
// This file is shared between AddressSanitizer and ThreadSanitizer // This file is shared between AddressSanitizer and ThreadSanitizer
// run-time libraries. // run-time libraries.
// //
// Implemention of fast stack unwinding for Sparc. // Implementation of fast stack unwinding for Sparc.
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
#if defined(__sparc__) #if defined(__sparc__)

View File

@ -21,7 +21,7 @@ namespace __sanitizer {
// Parsing helpers, 'str' is searched for delimiter(s) and a string or uptr // Parsing helpers, 'str' is searched for delimiter(s) and a string or uptr
// is extracted. When extracting a string, a newly allocated (using // 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. // to the next characted after the found delimiter.
const char *ExtractToken(const char *str, const char *delims, char **result); const char *ExtractToken(const char *str, const char *delims, char **result);
const char *ExtractInt(const char *str, const char *delims, int *result); const char *ExtractInt(const char *str, const char *delims, int *result);

View File

@ -30,7 +30,7 @@ if(ANDROID)
endif() endif()
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 set(SCUDO_MINIMAL_OBJECT_LIBS
RTSanitizerCommonNoTermination RTSanitizerCommonNoTermination
RTSanitizerCommonLibc RTSanitizerCommonLibc

View File

@ -72,9 +72,9 @@
// clk_ - variable size vector clock, low kClkBits hold timestamp, // clk_ - variable size vector clock, low kClkBits hold timestamp,
// the remaining bits hold "acquired" flag (the actual value is thread's // the remaining bits hold "acquired" flag (the actual value is thread's
// reused counter); // 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). // 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; // need to acquire regardless of "acquired" flag value;
// release_store_tid_ - denotes that the clock state is a result of // release_store_tid_ - denotes that the clock state is a result of
// release-store operation by the thread with release_store_tid_ index. // 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 // 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 // currently cached clock and release the old one. And for a shared
// existing clock, we could replace it with the currently cached; // 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. // cached clock only when the target clock is empty.
dst->tab_ = ctx->clock_alloc.Map(cached_idx_); dst->tab_ = ctx->clock_alloc.Map(cached_idx_);
dst->tab_idx_ = 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->dirty_[0].epoch = clk_[tid_];
dst->release_store_tid_ = tid_; dst->release_store_tid_ = tid_;
dst->release_store_reused_ = reused_; 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_; dst->elem(tid_).reused = reused_;
// Grab a reference. // Grab a reference.
atomic_fetch_add(ref_ptr(dst->tab_), 1, memory_order_relaxed); 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); for (uptr i = 0; i < kDirtyTids; i++) dst->dirty_[i].set_tid(kInvalidTid);
dst->release_store_tid_ = tid_; dst->release_store_tid_ = tid_;
dst->release_store_reused_ = reused_; 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_; dst->elem(tid_).reused = reused_;
// If the resulting clock is cachable, cache it for future release operations. // If the resulting clock is cachable, cache it for future release operations.

View File

@ -213,7 +213,7 @@ class ThreadClock {
// We reuse it for subsequent store-release operations without intervening // We reuse it for subsequent store-release operations without intervening
// acquire operations. Since it is shared (and thus constant), clock value // acquire operations. Since it is shared (and thus constant), clock value
// for the current thread is then stored in dirty entries in the SyncClock. // 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_; u32 cached_idx_;
u16 cached_size_; u16 cached_size_;
u16 cached_blocks_; u16 cached_blocks_;

View File

@ -405,8 +405,8 @@ TSAN_INTERCEPTOR(int, swapcontext, ucontext_t *oucp, const ucontext_t *ucp) {
{ {
SCOPED_INTERCEPTOR_RAW(swapcontext, oucp, ucp); SCOPED_INTERCEPTOR_RAW(swapcontext, oucp, ucp);
} }
// Bacause of swapcontext() semantics we have no option but to copy its // Because of swapcontext() semantics we have no option but to copy its
// impementation here // implementation here
if (!oucp || !ucp) { if (!oucp || !ucp) {
errno = EINVAL; errno = EINVAL;
return -1; return -1;

View File

@ -1961,7 +1961,7 @@ static void CallUserSignalHandler(ThreadState *thr, bool sync, bool acquire,
Acquire(thr, 0, (uptr)&sigactions[sig]); Acquire(thr, 0, (uptr)&sigactions[sig]);
// Signals are generally asynchronous, so if we receive a signals when // Signals are generally asynchronous, so if we receive a signals when
// ignores are enabled we should disable ignores. This is critical for sync // 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. // false races.
int ignore_reads_and_writes = thr->ignore_reads_and_writes; int ignore_reads_and_writes = thr->ignore_reads_and_writes;
int ignore_interceptors = thr->ignore_interceptors; int ignore_interceptors = thr->ignore_interceptors;

View File

@ -332,7 +332,7 @@ int ExtractResolvFDs(void *state, int *fds, int nfd) {
} }
// Extract file descriptors passed via UNIX domain sockets. // 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'. // see 'man recvmsg' and 'man 3 cmsg'.
int ExtractRecvmsgFDs(void *msgp, int *fds, int nfd) { int ExtractRecvmsgFDs(void *msgp, int *fds, int nfd) {
int res = 0; int res = 0;

View File

@ -285,7 +285,7 @@ void MapShadow(uptr addr, uptr size) {
"meta shadow")) "meta shadow"))
Die(); Die();
} else { } else {
// Mapping continous heap. // Mapping continuous heap.
// Windows wants 64K alignment. // Windows wants 64K alignment.
meta_begin = RoundDownTo(meta_begin, 64 << 10); meta_begin = RoundDownTo(meta_begin, 64 << 10);
meta_end = RoundUpTo(meta_end, 64 << 10); meta_end = RoundUpTo(meta_end, 64 << 10);

View File

@ -280,8 +280,8 @@ TEST(FunctionCallTrieTest, MergeInto) {
// We use a different allocator here to make sure that we're able to transfer // 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 // data into a FunctionCallTrie which uses a different allocator. This
// reflects the inteded usage scenario for when we're collecting profiles that // reflects the intended usage scenario for when we're collecting profiles
// aggregate across threads. // that aggregate across threads.
auto B = FunctionCallTrie::InitAllocators(); auto B = FunctionCallTrie::InitAllocators();
FunctionCallTrie Merged(B); FunctionCallTrie Merged(B);

View File

@ -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. // XRay Basic Mode runtime flags.
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//

View File

@ -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. // Defines the interface for a buffer queue implementation.
// //

View File

@ -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. // XRay runtime flags.
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//

View File

@ -360,7 +360,7 @@ XRayPatchingStatus mprotectAndPatchFunction(int32_t FuncId,
return XRayPatchingStatus::FAILED; 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. // particular function ID.
auto SledRange = InstrMap.SledsIndex ? InstrMap.SledsIndex[FuncId - 1] auto SledRange = InstrMap.SledsIndex ? InstrMap.SledsIndex[FuncId - 1]
: findFunctionSleds(FuncId, InstrMap); : findFunctionSleds(FuncId, InstrMap);

View File

@ -402,7 +402,7 @@ profilingLoggingInit(size_t, size_t, void *Options,
return XRayLogInitStatus::XRAY_LOG_UNINITIALIZED; 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); BQ = reinterpret_cast<BufferQueue *>(&BufferQueueStorage);
} else { } else {
BQ->finalize(); BQ->finalize();

View File

@ -13,7 +13,7 @@
// CONFIG rdar://6639533 // 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 <stdio.h>
#include <stdlib.h> #include <stdlib.h>

View File

@ -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. // is set.
// RUN: %clangxx_asan -g %s -o %t 2>&1 // RUN: %clangxx_asan -g %s -o %t 2>&1

View File

@ -17,7 +17,7 @@
// //
// Get the list of ASan wrappers imported by the DLL RTL: // 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 // [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 INTERCEPT_LIBRARY_FUNCTION %p/../../../../lib/asan/asan_win_dll_thunk.cpp \
// RUN: | grep -v define | sed -e s/.*(/__asan_wrap_/ -e s/).*// \ // RUN: | grep -v define | sed -e s/.*(/__asan_wrap_/ -e s/).*// \
// RUN: > %t.imports1 // RUN: > %t.imports1

View File

@ -13,7 +13,7 @@
// RUN: | sed -e s/@.*// > %t.exports // RUN: | sed -e s/@.*// > %t.exports
// //
// [BEWARE: be really careful with the sed commands, as this test can be run // [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: grep -e "INTERFACE_FUNCTION" \
// RUN: %p/../../../../lib/asan/asan_interface.inc \ // RUN: %p/../../../../lib/asan/asan_interface.inc \

View File

@ -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); __sanitizer_annotate_contiguous_container(beg, end, mid, end);
for (size_t idx = 0; idx < capacity; idx++) for (size_t idx = 0; idx < capacity; idx++)
assert(!__asan_address_is_poisoned(beg + idx)); assert(!__asan_address_is_poisoned(beg + idx));

View File

@ -14,7 +14,7 @@
// "x", "y", "z" are dynamically initialized globals. // "x", "y", "z" are dynamically initialized globals.
// Value of "x" depends on "y", value of "y" depends on "z". // 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. // "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. // the translation unit order.
int initZ() { int initZ() {

View File

@ -24,7 +24,7 @@ static int func2() { return 2; }
void __attribute__((noinline)) void __attribute__((noinline))
memcpy_f(void *dst, const void *src, size_t n) { 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 // (THUMB, MIPS16/uMIPS respectively). Ensure that the ISA bit is ignored in
// the memcpy // the memcpy
#if defined(__arm__) || defined(__mips__) #if defined(__arm__) || defined(__mips__)

View File

@ -16,7 +16,7 @@ static int func2() { return 2; }
void *__attribute__((noinline)) void *__attribute__((noinline))
memcpy_f(void *dst, const void *src, size_t n) { 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 // (THUMB, MIPS16/uMIPS respectively). Ensure that the ISA bit is ignored in
// the memcpy // the memcpy
#if defined(__arm__) || defined(__mips__) #if defined(__arm__) || defined(__mips__)

View File

@ -138,7 +138,7 @@ static inline int compareResultD(double result,
#if __LDBL_MANT_DIG__ == 113 #if __LDBL_MANT_DIG__ == 113
// return 0 if equal // 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 // because 128-bit integer constant can't be assigned directly
static inline int compareResultLD(long double result, static inline int compareResultLD(long double result,
uint64_t expectedHi, uint64_t expectedHi,

View File

@ -2,7 +2,7 @@
// See https://llvm.org/LICENSE.txt for license information. // See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // 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 <assert.h>
#include <cstddef> #include <cstddef>
#include <cstdint> #include <cstdint>

View File

@ -2,7 +2,7 @@
// See https://llvm.org/LICENSE.txt for license information. // See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // 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 <assert.h>
#include <cstddef> #include <cstddef>
#include <cstdint> #include <cstdint>

View File

@ -52,7 +52,7 @@ RUN: rm %t/T1/*
RUN: cp %t/T0/* %t/T1/ RUN: cp %t/T0/* %t/T1/
RUN: echo 'FUZZER' > %t/T2/FUZZER 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 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 MERGE_WITH_CRASH: MERGE-OUTER: 3 new files
# Check that we actually limit the size with max_len # 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: %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: not grep FUZZER %t/T1/*
RUN: grep FUZZE %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)

View File

@ -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_filename" + postfix, 'lib%xdynamiclib_namespec{}.so'.format(postfix)) )
config.substitutions.append( ("%xdynamiclib_namespec", '%basename_t.dynamic') ) 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. # The substitution expands to nothing on non Linux platforms.
# FIXME: This should check the target OS, not the host OS. # FIXME: This should check the target OS, not the host OS.
if config.host_os == 'Linux': if config.host_os == 'Linux':

View File

@ -27,7 +27,7 @@
#define NO_OVERFLOW(x) assert(__msan_test_shadow(&x, sizeof(x)) == 0) #define NO_OVERFLOW(x) assert(__msan_test_shadow(&x, sizeof(x)) == 0)
#if defined(__x86_64__) #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 // unpoisoned
#define PARTIAL_OVERFLOW(x) OVERFLOW(x) #define PARTIAL_OVERFLOW(x) OVERFLOW(x)
#else #else

View File

@ -84,7 +84,7 @@ foreach(tool ${SUPPORTED_TOOLS})
configure_lit_site_cfg( configure_lit_site_cfg(
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg.py) ${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. # so don't run the tests by default.
if (NOT (CMAKE_SYSTEM_NAME MATCHES "Darwin" AND if (NOT (CMAKE_SYSTEM_NAME MATCHES "Darwin" AND
${tool} STREQUAL "lsan" AND ${tool} STREQUAL "lsan" AND

View File

@ -6,7 +6,7 @@
// Check that all new/delete variants are defined and work with supported // Check that all new/delete variants are defined and work with supported
// sanitizers. Sanitizer-specific failure modes tests are supposed to go to // 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> #include <cstddef>

View File

@ -1,7 +1,7 @@
// RUN: %clangxx_tsan -O1 --std=c++11 %s -o %t && %run %t 2>&1 | FileCheck %s // RUN: %clangxx_tsan -O1 --std=c++11 %s -o %t && %run %t 2>&1 | FileCheck %s
#include "custom_mutex.h" #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). // (no race reports for properly protected critical sections).
Mutex mu(true, 0); Mutex mu(true, 0);

View File

@ -53,5 +53,5 @@ int main() {
// CHECK: WARNING: ThreadSanitizer: data race // CHECK: WARNING: ThreadSanitizer: data race
// CHECK: #100 foo // CHECK: #100 foo
// We must output suffucuently large stack (at least 100 frames) // We must output sufficiently large stack (at least 100 frames)

View File

@ -17,7 +17,7 @@ void *Thread(void *x) {
char buf; char buf;
int n = read(fd, &buf, 1); int n = read(fd, &buf, 1);
if (n != 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 // 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 // closed and not yet a duplicate of old". Strace of the failing runs
// looks as follows: // looks as follows:

View File

@ -22,7 +22,7 @@
#===------------------------------------------------------------------------===# #===------------------------------------------------------------------------===#
BEGIN { BEGIN {
# harcode the script name # hardcode the script name
script_name = "generate_netbsd_ioctls.awk" script_name = "generate_netbsd_ioctls.awk"
outputinc = "../lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc" outputinc = "../lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc"

View File

@ -24,7 +24,7 @@
#===------------------------------------------------------------------------===# #===------------------------------------------------------------------------===#
BEGIN { BEGIN {
# harcode the script name # hardcode the script name
script_name = "generate_netbsd_syscalls.awk" script_name = "generate_netbsd_syscalls.awk"
outputh = "../include/sanitizer/netbsd_syscall_hooks.h" outputh = "../include/sanitizer/netbsd_syscall_hooks.h"
outputinc = "../lib/sanitizer_common/sanitizer_syscalls_netbsd.inc" outputinc = "../lib/sanitizer_common/sanitizer_syscalls_netbsd.inc"