forked from OSchip/llvm-project
compiler-rt: Rename .cc file in lib/asan to .cpp
Like r367463, but for asan. llvm-svn: 367558
This commit is contained in:
parent
f46d413fa0
commit
217222abea
|
@ -1,46 +1,51 @@
|
||||||
# Build for the AddressSanitizer runtime support library.
|
# Build for the AddressSanitizer runtime support library.
|
||||||
|
|
||||||
set(ASAN_SOURCES
|
set(ASAN_SOURCES
|
||||||
asan_allocator.cc
|
asan_allocator.cpp
|
||||||
asan_activation.cc
|
asan_activation.cpp
|
||||||
asan_debugging.cc
|
asan_debugging.cpp
|
||||||
asan_descriptions.cc
|
asan_descriptions.cpp
|
||||||
asan_errors.cc
|
asan_errors.cpp
|
||||||
asan_fake_stack.cc
|
asan_fake_stack.cpp
|
||||||
asan_flags.cc
|
asan_flags.cpp
|
||||||
asan_fuchsia.cc
|
asan_fuchsia.cpp
|
||||||
asan_globals.cc
|
asan_globals.cpp
|
||||||
asan_globals_win.cc
|
asan_globals_win.cpp
|
||||||
asan_interceptors.cc
|
asan_interceptors.cpp
|
||||||
asan_interceptors_memintrinsics.cc
|
asan_interceptors_memintrinsics.cpp
|
||||||
asan_linux.cc
|
asan_linux.cpp
|
||||||
asan_mac.cc
|
asan_mac.cpp
|
||||||
asan_malloc_linux.cc
|
asan_malloc_linux.cpp
|
||||||
asan_malloc_mac.cc
|
asan_malloc_mac.cpp
|
||||||
asan_malloc_win.cc
|
asan_malloc_win.cpp
|
||||||
asan_memory_profile.cc
|
asan_memory_profile.cpp
|
||||||
asan_poisoning.cc
|
asan_poisoning.cpp
|
||||||
asan_posix.cc
|
asan_posix.cpp
|
||||||
asan_premap_shadow.cc
|
asan_premap_shadow.cpp
|
||||||
asan_report.cc
|
asan_report.cpp
|
||||||
asan_rtems.cc
|
asan_rtems.cpp
|
||||||
asan_rtl.cc
|
asan_rtl.cpp
|
||||||
asan_shadow_setup.cc
|
asan_shadow_setup.cpp
|
||||||
asan_stack.cc
|
asan_stack.cpp
|
||||||
asan_stats.cc
|
asan_stats.cpp
|
||||||
asan_suppressions.cc
|
asan_suppressions.cpp
|
||||||
asan_thread.cc
|
asan_thread.cpp
|
||||||
asan_win.cc)
|
asan_win.cpp
|
||||||
|
)
|
||||||
|
|
||||||
if (NOT WIN32 AND NOT APPLE)
|
if (NOT WIN32 AND NOT APPLE)
|
||||||
list(APPEND ASAN_SOURCES asan_interceptors_vfork.S)
|
list(APPEND ASAN_SOURCES
|
||||||
|
asan_interceptors_vfork.S
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(ASAN_CXX_SOURCES
|
set(ASAN_CXX_SOURCES
|
||||||
asan_new_delete.cc)
|
asan_new_delete.cpp
|
||||||
|
)
|
||||||
|
|
||||||
set(ASAN_PREINIT_SOURCES
|
set(ASAN_PREINIT_SOURCES
|
||||||
asan_preinit.cc)
|
asan_preinit.cpp
|
||||||
|
)
|
||||||
|
|
||||||
SET(ASAN_HEADERS
|
SET(ASAN_HEADERS
|
||||||
asan_activation.h
|
asan_activation.h
|
||||||
|
@ -68,7 +73,8 @@ SET(ASAN_HEADERS
|
||||||
asan_stack.h
|
asan_stack.h
|
||||||
asan_stats.h
|
asan_stats.h
|
||||||
asan_suppressions.h
|
asan_suppressions.h
|
||||||
asan_thread.h)
|
asan_thread.h
|
||||||
|
)
|
||||||
|
|
||||||
include_directories(..)
|
include_directories(..)
|
||||||
|
|
||||||
|
@ -143,10 +149,10 @@ if(NOT APPLE)
|
||||||
DEFS ${ASAN_COMMON_DEFINITIONS}
|
DEFS ${ASAN_COMMON_DEFINITIONS}
|
||||||
DEPS ${ASAN_DEPS})
|
DEPS ${ASAN_DEPS})
|
||||||
|
|
||||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/dummy.cc "")
|
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp "")
|
||||||
add_compiler_rt_object_libraries(RTAsan_dynamic_version_script_dummy
|
add_compiler_rt_object_libraries(RTAsan_dynamic_version_script_dummy
|
||||||
ARCHS ${ASAN_SUPPORTED_ARCH}
|
ARCHS ${ASAN_SUPPORTED_ARCH}
|
||||||
SOURCES ${CMAKE_CURRENT_BINARY_DIR}/dummy.cc
|
SOURCES ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp
|
||||||
CFLAGS ${ASAN_DYNAMIC_CFLAGS}
|
CFLAGS ${ASAN_DYNAMIC_CFLAGS}
|
||||||
DEFS ${ASAN_DYNAMIC_DEFINITIONS}
|
DEFS ${ASAN_DYNAMIC_DEFINITIONS}
|
||||||
DEPS ${ASAN_DEPS})
|
DEPS ${ASAN_DEPS})
|
||||||
|
@ -230,7 +236,7 @@ else()
|
||||||
list(APPEND VERSION_SCRIPT_FLAG -Wl,-z,gnu-version-script-compat)
|
list(APPEND VERSION_SCRIPT_FLAG -Wl,-z,gnu-version-script-compat)
|
||||||
endif()
|
endif()
|
||||||
set_property(SOURCE
|
set_property(SOURCE
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/dummy.cc
|
${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp
|
||||||
APPEND PROPERTY
|
APPEND PROPERTY
|
||||||
OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/clang_rt.asan-dynamic-${arch}.vers)
|
OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/clang_rt.asan-dynamic-${arch}.vers)
|
||||||
else()
|
else()
|
||||||
|
@ -242,7 +248,7 @@ else()
|
||||||
add_compiler_rt_object_libraries(AsanWeakInterception
|
add_compiler_rt_object_libraries(AsanWeakInterception
|
||||||
${SANITIZER_COMMON_SUPPORTED_OS}
|
${SANITIZER_COMMON_SUPPORTED_OS}
|
||||||
ARCHS ${arch}
|
ARCHS ${arch}
|
||||||
SOURCES asan_win_weak_interception.cc
|
SOURCES asan_win_weak_interception.cpp
|
||||||
CFLAGS ${ASAN_CFLAGS} -DSANITIZER_DYNAMIC
|
CFLAGS ${ASAN_CFLAGS} -DSANITIZER_DYNAMIC
|
||||||
DEFS ${ASAN_COMMON_DEFINITIONS}
|
DEFS ${ASAN_COMMON_DEFINITIONS}
|
||||||
DEPS ${ASAN_DEPS})
|
DEPS ${ASAN_DEPS})
|
||||||
|
@ -287,8 +293,8 @@ else()
|
||||||
add_compiler_rt_object_libraries(AsanDllThunk
|
add_compiler_rt_object_libraries(AsanDllThunk
|
||||||
${SANITIZER_COMMON_SUPPORTED_OS}
|
${SANITIZER_COMMON_SUPPORTED_OS}
|
||||||
ARCHS ${arch}
|
ARCHS ${arch}
|
||||||
SOURCES asan_globals_win.cc
|
SOURCES asan_globals_win.cpp
|
||||||
asan_win_dll_thunk.cc
|
asan_win_dll_thunk.cpp
|
||||||
CFLAGS ${ASAN_CFLAGS} -DSANITIZER_DLL_THUNK
|
CFLAGS ${ASAN_CFLAGS} -DSANITIZER_DLL_THUNK
|
||||||
DEFS ${ASAN_COMMON_DEFINITIONS}
|
DEFS ${ASAN_COMMON_DEFINITIONS}
|
||||||
DEPS ${ASAN_DEPS})
|
DEPS ${ASAN_DEPS})
|
||||||
|
@ -313,8 +319,8 @@ else()
|
||||||
add_compiler_rt_object_libraries(AsanDynamicRuntimeThunk
|
add_compiler_rt_object_libraries(AsanDynamicRuntimeThunk
|
||||||
${SANITIZER_COMMON_SUPPORTED_OS}
|
${SANITIZER_COMMON_SUPPORTED_OS}
|
||||||
ARCHS ${arch}
|
ARCHS ${arch}
|
||||||
SOURCES asan_globals_win.cc
|
SOURCES asan_globals_win.cpp
|
||||||
asan_win_dynamic_runtime_thunk.cc
|
asan_win_dynamic_runtime_thunk.cpp
|
||||||
CFLAGS ${ASAN_CFLAGS} ${DYNAMIC_RUNTIME_THUNK_CFLAGS}
|
CFLAGS ${ASAN_CFLAGS} ${DYNAMIC_RUNTIME_THUNK_CFLAGS}
|
||||||
DEFS ${ASAN_COMMON_DEFINITIONS}
|
DEFS ${ASAN_COMMON_DEFINITIONS}
|
||||||
DEPS ${ASAN_DEPS})
|
DEPS ${ASAN_DEPS})
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_activation.cc --------------------------------------*- C++ -*-===//
|
//===-- asan_activation.cpp -------------------------------------*- C++ -*-===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_allocator.cc -------------------------------------------------===//
|
//===-- asan_allocator.cpp ------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -8,7 +8,7 @@
|
||||||
//
|
//
|
||||||
// This file is a part of AddressSanitizer, an address sanity checker.
|
// This file is a part of AddressSanitizer, an address sanity checker.
|
||||||
//
|
//
|
||||||
// ASan-private header for asan_allocator.cc.
|
// ASan-private header for asan_allocator.cpp.
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef ASAN_ALLOCATOR_H
|
#ifndef ASAN_ALLOCATOR_H
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_debugging.cc -------------------------------------------------===//
|
//===-- asan_debugging.cpp ------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_descriptions.cc ------------------------------------*- C++ -*-===//
|
//===-- asan_descriptions.cpp -----------------------------------*- C++ -*-===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -8,7 +8,7 @@
|
||||||
//
|
//
|
||||||
// This file is a part of AddressSanitizer, an address sanity checker.
|
// This file is a part of AddressSanitizer, an address sanity checker.
|
||||||
//
|
//
|
||||||
// ASan-private header for asan_descriptions.cc.
|
// ASan-private header for asan_descriptions.cpp.
|
||||||
// TODO(filcab): Most struct definitions should move to the interface headers.
|
// TODO(filcab): Most struct definitions should move to the interface headers.
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
#ifndef ASAN_DESCRIPTIONS_H
|
#ifndef ASAN_DESCRIPTIONS_H
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_errors.cc ------------------------------------------*- C++ -*-===//
|
//===-- asan_errors.cpp -----------------------------------------*- C++ -*-===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_fake_stack.cc ------------------------------------------------===//
|
//===-- asan_fake_stack.cpp -----------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -8,7 +8,7 @@
|
||||||
//
|
//
|
||||||
// This file is a part of AddressSanitizer, an address sanity checker.
|
// This file is a part of AddressSanitizer, an address sanity checker.
|
||||||
//
|
//
|
||||||
// ASan-private header for asan_fake_stack.cc, implements FakeStack.
|
// ASan-private header for asan_fake_stack.cpp, implements FakeStack.
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef ASAN_FAKE_STACK_H
|
#ifndef ASAN_FAKE_STACK_H
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_flags.cc -------------------------------------------*- C++ -*-===//
|
//===-- asan_flags.cpp ------------------------------------------*- C++ -*-===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_fuchsia.cc --------------------------------------------------===//
|
//===-- asan_fuchsia.cpp -------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
||||||
|
@ -28,7 +28,7 @@ namespace __asan {
|
||||||
|
|
||||||
// The system already set up the shadow memory for us.
|
// The system already set up the shadow memory for us.
|
||||||
// __sanitizer::GetMaxUserVirtualAddress has already been called by
|
// __sanitizer::GetMaxUserVirtualAddress has already been called by
|
||||||
// AsanInitInternal->InitializeHighMemEnd (asan_rtl.cc).
|
// AsanInitInternal->InitializeHighMemEnd (asan_rtl.cpp).
|
||||||
// Just do some additional sanity checks here.
|
// Just do some additional sanity checks here.
|
||||||
void InitializeShadowMemory() {
|
void InitializeShadowMemory() {
|
||||||
if (Verbosity()) PrintAddressSpaceLayout();
|
if (Verbosity()) PrintAddressSpaceLayout();
|
||||||
|
@ -172,7 +172,7 @@ static void ThreadCreateHook(void *hook, bool aborted) {
|
||||||
|
|
||||||
// This is called in the newly-created thread before it runs anything else,
|
// This is called in the newly-created thread before it runs anything else,
|
||||||
// with the pointer returned by BeforeThreadCreateHook (above).
|
// with the pointer returned by BeforeThreadCreateHook (above).
|
||||||
// cf. asan_interceptors.cc:asan_thread_start
|
// cf. asan_interceptors.cpp:asan_thread_start
|
||||||
static void ThreadStartHook(void *hook, uptr os_id) {
|
static void ThreadStartHook(void *hook, uptr os_id) {
|
||||||
AsanThread *thread = static_cast<AsanThread *>(hook);
|
AsanThread *thread = static_cast<AsanThread *>(hook);
|
||||||
SetCurrentThread(thread);
|
SetCurrentThread(thread);
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_globals.cc ---------------------------------------------------===//
|
//===-- asan_globals.cpp --------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_globals_win.cc -----------------------------------------------===//
|
//===-- asan_globals_win.cpp ----------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_interceptors.cc ----------------------------------------------===//
|
//===-- asan_interceptors.cpp ---------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
#include "sanitizer_common/sanitizer_libc.h"
|
#include "sanitizer_common/sanitizer_libc.h"
|
||||||
|
|
||||||
// There is no general interception at all on Fuchsia and RTEMS.
|
// There is no general interception at all on Fuchsia and RTEMS.
|
||||||
// Only the functions in asan_interceptors_memintrinsics.cc are
|
// Only the functions in asan_interceptors_memintrinsics.cpp are
|
||||||
// really defined to replace libc functions.
|
// really defined to replace libc functions.
|
||||||
#if !SANITIZER_FUCHSIA && !SANITIZER_RTEMS
|
#if !SANITIZER_FUCHSIA && !SANITIZER_RTEMS
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
//
|
//
|
||||||
// This file is a part of AddressSanitizer, an address sanity checker.
|
// This file is a part of AddressSanitizer, an address sanity checker.
|
||||||
//
|
//
|
||||||
// ASan-private header for asan_interceptors.cc
|
// ASan-private header for asan_interceptors.cpp
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
#ifndef ASAN_INTERCEPTORS_H
|
#ifndef ASAN_INTERCEPTORS_H
|
||||||
#define ASAN_INTERCEPTORS_H
|
#define ASAN_INTERCEPTORS_H
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_interceptors_memintrinsics.cc --------------------------------===//
|
//===-- asan_interceptors_memintrinsics.cpp -------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -61,29 +61,29 @@ using __sanitizer::StackTrace;
|
||||||
|
|
||||||
void AsanInitFromRtl();
|
void AsanInitFromRtl();
|
||||||
|
|
||||||
// asan_win.cc
|
// asan_win.cpp
|
||||||
void InitializePlatformExceptionHandlers();
|
void InitializePlatformExceptionHandlers();
|
||||||
// Returns whether an address is a valid allocated system heap block.
|
// Returns whether an address is a valid allocated system heap block.
|
||||||
// 'addr' must point to the beginning of the block.
|
// 'addr' must point to the beginning of the block.
|
||||||
bool IsSystemHeapAddress(uptr addr);
|
bool IsSystemHeapAddress(uptr addr);
|
||||||
|
|
||||||
// asan_rtl.cc
|
// asan_rtl.cpp
|
||||||
void PrintAddressSpaceLayout();
|
void PrintAddressSpaceLayout();
|
||||||
void NORETURN ShowStatsAndAbort();
|
void NORETURN ShowStatsAndAbort();
|
||||||
|
|
||||||
// asan_shadow_setup.cc
|
// asan_shadow_setup.cpp
|
||||||
void InitializeShadowMemory();
|
void InitializeShadowMemory();
|
||||||
|
|
||||||
// asan_malloc_linux.cc / asan_malloc_mac.cc
|
// asan_malloc_linux.cpp / asan_malloc_mac.cpp
|
||||||
void ReplaceSystemMalloc();
|
void ReplaceSystemMalloc();
|
||||||
|
|
||||||
// asan_linux.cc / asan_mac.cc / asan_rtems.cc / asan_win.cc
|
// asan_linux.cpp / asan_mac.cpp / asan_rtems.cpp / asan_win.cpp
|
||||||
uptr FindDynamicShadowStart();
|
uptr FindDynamicShadowStart();
|
||||||
void *AsanDoesNotSupportStaticLinkage();
|
void *AsanDoesNotSupportStaticLinkage();
|
||||||
void AsanCheckDynamicRTPrereqs();
|
void AsanCheckDynamicRTPrereqs();
|
||||||
void AsanCheckIncompatibleRT();
|
void AsanCheckIncompatibleRT();
|
||||||
|
|
||||||
// asan_thread.cc
|
// asan_thread.cpp
|
||||||
AsanThread *CreateMainThread();
|
AsanThread *CreateMainThread();
|
||||||
|
|
||||||
// Support function for __asan_(un)register_image_globals. Searches for the
|
// Support function for __asan_(un)register_image_globals. Searches for the
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_linux.cc -----------------------------------------------------===//
|
//===-- asan_linux.cpp ----------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_mac.cc -------------------------------------------------------===//
|
//===-- asan_mac.cpp ------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_malloc_linux.cc ----------------------------------------------===//
|
//===-- asan_malloc_linux.cpp ---------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_malloc_mac.cc ------------------------------------------------===//
|
//===-- asan_malloc_mac.cpp -----------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_malloc_win.cc ------------------------------------------------===//
|
//===-- asan_malloc_win.cpp -----------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_memory_profile.cc.cc -----------------------------------------===//
|
//===-- asan_memory_profile.cpp ----------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_interceptors.cc ----------------------------------------------===//
|
//===-- asan_interceptors.cpp ---------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_poisoning.cc -------------------------------------------------===//
|
//===-- asan_poisoning.cpp ------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_posix.cc -----------------------------------------------------===//
|
//===-- asan_posix.cpp ----------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_preinit.cc ---------------------------------------------------===//
|
//===-- asan_preinit.cpp --------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_premap_shadow.cc ---------------------------------------------===//
|
//===-- asan_premap_shadow.cpp --------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_report.cc ----------------------------------------------------===//
|
//===-- asan_report.cpp ---------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_rtems.cc -----------------------------------------------------===//
|
//===-- asan_rtems.cpp ----------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_rtl.cc -------------------------------------------------------===//
|
//===-- asan_rtl.cpp ------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_shadow_setup.cc ----------------------------------------------===//
|
//===-- asan_shadow_setup.cpp ---------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
#include "sanitizer_common/sanitizer_platform.h"
|
#include "sanitizer_common/sanitizer_platform.h"
|
||||||
|
|
||||||
// asan_fuchsia.cc and asan_rtems.cc have their own
|
// asan_fuchsia.cpp and asan_rtems.cpp have their own
|
||||||
// InitializeShadowMemory implementation.
|
// InitializeShadowMemory implementation.
|
||||||
#if !SANITIZER_FUCHSIA && !SANITIZER_RTEMS
|
#if !SANITIZER_FUCHSIA && !SANITIZER_RTEMS
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_stack.cc -----------------------------------------------------===//
|
//===-- asan_stack.cpp ----------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -8,7 +8,7 @@
|
||||||
//
|
//
|
||||||
// This file is a part of AddressSanitizer, an address sanity checker.
|
// This file is a part of AddressSanitizer, an address sanity checker.
|
||||||
//
|
//
|
||||||
// ASan-private header for asan_stack.cc.
|
// ASan-private header for asan_stack.cpp.
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef ASAN_STACK_H
|
#ifndef ASAN_STACK_H
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_stats.cc -----------------------------------------------------===//
|
//===-- asan_stats.cpp ----------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_suppressions.cc ----------------------------------------------===//
|
//===-- asan_suppressions.cpp ---------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -8,7 +8,7 @@
|
||||||
//
|
//
|
||||||
// This file is a part of AddressSanitizer, an address sanity checker.
|
// This file is a part of AddressSanitizer, an address sanity checker.
|
||||||
//
|
//
|
||||||
// ASan-private header for asan_suppressions.cc.
|
// ASan-private header for asan_suppressions.cpp.
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
#ifndef ASAN_SUPPRESSIONS_H
|
#ifndef ASAN_SUPPRESSIONS_H
|
||||||
#define ASAN_SUPPRESSIONS_H
|
#define ASAN_SUPPRESSIONS_H
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_thread.cc ----------------------------------------------------===//
|
//===-- asan_thread.cpp ---------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -8,7 +8,7 @@
|
||||||
//
|
//
|
||||||
// This file is a part of AddressSanitizer, an address sanity checker.
|
// This file is a part of AddressSanitizer, an address sanity checker.
|
||||||
//
|
//
|
||||||
// ASan-private header for asan_thread.cc.
|
// ASan-private header for asan_thread.cpp.
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#ifndef ASAN_THREAD_H
|
#ifndef ASAN_THREAD_H
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_win.cc -------------------------------------------------------===//
|
//===-- asan_win.cpp ------------------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_win_dll_thunk.cc ---------------------------------------------===//
|
//===-- asan_win_dll_thunk.cpp --------------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
||||||
|
@ -54,7 +54,7 @@ INTERCEPT_WRAP_W_W(_expand_dbg)
|
||||||
// TODO(timurrrr): Might want to add support for _aligned_* allocation
|
// TODO(timurrrr): Might want to add support for _aligned_* allocation
|
||||||
// functions to detect a bit more bugs. Those functions seem to wrap malloc().
|
// functions to detect a bit more bugs. Those functions seem to wrap malloc().
|
||||||
|
|
||||||
// TODO(timurrrr): Do we need to add _Crt* stuff here? (see asan_malloc_win.cc).
|
// TODO(timurrrr): Do we need to add _Crt* stuff here? (see asan_malloc_win.cpp)
|
||||||
|
|
||||||
INTERCEPT_LIBRARY_FUNCTION(atoi);
|
INTERCEPT_LIBRARY_FUNCTION(atoi);
|
||||||
INTERCEPT_LIBRARY_FUNCTION(atol);
|
INTERCEPT_LIBRARY_FUNCTION(atol);
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_win_dynamic_runtime_thunk.cc ---------------------------------===//
|
//===-- asan_win_dynamic_runtime_thunk.cpp --------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
||||||
|
@ -114,7 +114,7 @@ int (*__asan_schedule_unregister_globals)() = ScheduleUnregisterGlobals;
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// ASan SEH handling.
|
// ASan SEH handling.
|
||||||
// We need to set the ASan-specific SEH handler at the end of CRT initialization
|
// We need to set the ASan-specific SEH handler at the end of CRT initialization
|
||||||
// of each module (see also asan_win.cc).
|
// of each module (see also asan_win.cpp).
|
||||||
extern "C" {
|
extern "C" {
|
||||||
__declspec(dllimport) int __asan_set_seh_filter();
|
__declspec(dllimport) int __asan_set_seh_filter();
|
||||||
static int SetSEHFilter() { return __asan_set_seh_filter(); }
|
static int SetSEHFilter() { return __asan_set_seh_filter(); }
|
|
@ -1,4 +1,4 @@
|
||||||
//===-- asan_win_weak_interception.cc -------------------------------------===//
|
//===-- asan_win_weak_interception.cpp ------------------------------------===//
|
||||||
//
|
//
|
||||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||||
// See https://llvm.org/LICENSE.txt for license information.
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
@ -81,7 +81,7 @@ run_lint ${ASAN_RTL_LINT_FILTER} ${INTERCEPTION}/*.cpp \
|
||||||
|
|
||||||
# ASan
|
# ASan
|
||||||
ASAN_RTL=${COMPILER_RT}/lib/asan
|
ASAN_RTL=${COMPILER_RT}/lib/asan
|
||||||
run_lint ${ASAN_RTL_LINT_FILTER} ${ASAN_RTL}/*.cc \
|
run_lint ${ASAN_RTL_LINT_FILTER} ${ASAN_RTL}/*.cpp \
|
||||||
${ASAN_RTL}/*.h &
|
${ASAN_RTL}/*.h &
|
||||||
run_lint ${ASAN_TEST_LINT_FILTER} ${ASAN_RTL}/tests/*.cc \
|
run_lint ${ASAN_TEST_LINT_FILTER} ${ASAN_RTL}/tests/*.cc \
|
||||||
${ASAN_RTL}/tests/*.h &
|
${ASAN_RTL}/tests/*.h &
|
||||||
|
|
|
@ -18,11 +18,11 @@
|
||||||
// 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 environemnts with different shells and seds]
|
||||||
// RUN: grep INTERCEPT_LIBRARY_FUNCTION %p/../../../../lib/asan/asan_win_dll_thunk.cc \
|
// 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
|
||||||
//
|
//
|
||||||
// Add functions interecepted in asan_malloc.win.cc and asan_win.cc.
|
// Add functions interecepted in asan_malloc.win.cpp and asan_win.cpp.
|
||||||
// RUN: grep '[I]MPORT:' %s | sed -e 's/.*[I]MPORT: //' > %t.imports2
|
// RUN: grep '[I]MPORT:' %s | sed -e 's/.*[I]MPORT: //' > %t.imports2
|
||||||
// IMPORT: __asan_wrap_HeapAlloc
|
// IMPORT: __asan_wrap_HeapAlloc
|
||||||
// IMPORT: __asan_wrap_HeapFree
|
// IMPORT: __asan_wrap_HeapFree
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
//
|
//
|
||||||
// Now make sure the DLL thunk imports everything:
|
// Now make sure the DLL thunk imports everything:
|
||||||
// RUN: echo
|
// RUN: echo
|
||||||
// RUN: echo "=== NOTE === If you see a mismatch below, please update asan_win_dll_thunk.cc"
|
// RUN: echo "=== NOTE === If you see a mismatch below, please update asan_win_dll_thunk.cpp"
|
||||||
// RUN: diff %t.imports-sorted %t.exports-sorted
|
// RUN: diff %t.imports-sorted %t.exports-sorted
|
||||||
// REQUIRES: asan-static-runtime
|
// REQUIRES: asan-static-runtime
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue