llvm-project/compiler-rt/lib/asan
Evgeniy Stepanov cf02f171a9 [sanitizer] Fix PR17138.
strerror_r on OSX returns a positive error code when the errno value is
unknown. Buffer contents are initialized in any case.

llvm-svn: 190295
2013-09-09 08:58:54 +00:00
..
lit_tests [sanitizer] Fix PR17138. 2013-09-09 08:58:54 +00:00
scripts [ASan] Close stderr before launching atos in asan_symbolize.py 2013-07-04 14:21:49 +00:00
tests [ASan] turn on leak checking for ASan tests and fix a few discovered leaks 2013-09-08 13:23:29 +00:00
CMakeLists.txt Generate list of symbols exported from sanitizer runtimes only on 64-bit Unix 2013-08-28 08:07:04 +00:00
Makefile.mk [ASan] Delete asan/dynamic dir and temporarily move the interposers declarations to asan_intercepted_functions.h 2013-02-20 15:46:02 +00:00
README.txt [ASan] Nuke output_tests/ in favor of lit_tests/. Stop using Makefile.old. 2012-09-06 06:39:02 +00:00
asan.syms.extra Properly generate lists of exported symbols for sanitizer runtimes 2013-08-27 15:08:02 +00:00
asan_allocator.h Define SANITIZER_INTERFACE_ATTRIBUTE on Windows and fix all the places where SANITIZER_INTERFACE_ATTRIBUTE or SANITIZER_ATTRIBUTE_WEAK are used 2013-08-13 11:42:45 +00:00
asan_allocator2.cc [asan] make calloc crash instead of returning 0 on overflow (controlled by the allocator_may_return_null flag) 2013-09-06 09:51:50 +00:00
asan_blacklist.txt [asan] Update blacklists to use categories. 2013-07-09 22:04:28 +00:00
asan_dll_thunk.cc [ASan/Win] Hook some memory allocation functions; passes simple sanity test now 2013-08-13 15:29:42 +00:00
asan_fake_stack.cc [asan] make use-after-return handle very deep recursion; fixes 483.xalancbmk in UAR mode 2013-09-04 10:59:32 +00:00
asan_fake_stack.h [asan] make use-after-return handle very deep recursion; fixes 483.xalancbmk in UAR mode 2013-09-04 10:59:32 +00:00
asan_flags.h [lsan] Make __lsan_do_leak_check() honor the detect_leaks flag. 2013-07-22 12:38:17 +00:00
asan_globals.cc [Sanitizer] Rename InternalVector to InternalMmapVector 2013-06-14 09:59:40 +00:00
asan_intercepted_functions.h asan: Add a wcslen interceptor mirroring strlen 2013-09-05 01:13:49 +00:00
asan_interceptors.cc asan: Add a wcslen interceptor mirroring strlen 2013-09-05 01:13:49 +00:00
asan_interceptors.h [ASan] Delete the code related to static runtime on OS X. 2013-02-05 15:57:12 +00:00
asan_interface_internal.h Define SANITIZER_INTERFACE_ATTRIBUTE on Windows and fix all the places where SANITIZER_INTERFACE_ATTRIBUTE or SANITIZER_ATTRIBUTE_WEAK are used 2013-08-13 11:42:45 +00:00
asan_internal.h Disable init-order checking before destructors are run. 2013-05-24 11:46:56 +00:00
asan_linux.cc [asan] ASan Linux MIPS32 support (compiler-rt part), patch by Jyun-Yan Y 2013-06-03 14:49:25 +00:00
asan_lock.h asan/tsan: move blocking mutex from asan to sanitizer_common 2013-01-14 07:51:39 +00:00
asan_mac.cc [ASan] Cache the OSX version to avoid calling sysctl() on every GetMacosVersion() call. 2013-07-16 09:29:48 +00:00
asan_mac.h [ASan] Cache the OSX version to avoid calling sysctl() on every GetMacosVersion() call. 2013-07-16 09:29:48 +00:00
asan_malloc_linux.cc [ASan] Kill the remainders of platform defines in favor of SANITIZER_ defines 2013-04-03 07:29:53 +00:00
asan_malloc_mac.cc [ASan] Do not protect the malloc zone created by malloc_zone_create() on Snow Leopard and earlier systems. 2013-07-04 10:16:12 +00:00
asan_malloc_win.cc [ASan/Win] Oops, forgot to add the attributes to the memory allocations functions 2013-08-13 16:48:18 +00:00
asan_mapping.h [asan] ASan Linux MIPS32 support (compiler-rt part), patch by Jyun-Yan Y 2013-06-03 14:49:25 +00:00
asan_new_delete.cc [ASan] Kill the remainders of platform defines in favor of SANITIZER_ defines 2013-04-03 07:29:53 +00:00
asan_poisoning.cc [sanitizer] Fix __sanitizer_unaligned_* to work with unaligned data types. 2013-06-04 13:49:10 +00:00
asan_poisoning.h [sanitizer] introduce LargeMmapAllocator::GetBlockBeginFastSingleThreaded, required for LeakSanitizer to work faster. Also fix lint. 2013-05-30 08:43:30 +00:00
asan_posix.cc [sanitizer] found a bug by code inspection: CHECK(a=b) instead of CHECK(a==b). Was puzzled why lint did not catch it. Turns out this check was disabled for asan source. fix all cases and enable the check 2013-04-05 14:40:25 +00:00
asan_preinit.cc [ASan] Rename __asan_preinit to __local_asan_preinit to avoid warnings from the linker which is trying to export all the __asan_* symbols 2013-05-23 09:15:20 +00:00
asan_report.cc [asan] Hopefully fix the RTL build on Windows (part 2) 2013-09-03 15:09:21 +00:00
asan_report.h [ASan] Switch ASan to generic ThreadRegistry from sanitizer_common. Delete ASan-specific AsanThreadRegistry. 2013-03-21 11:23:41 +00:00
asan_rtl.cc ASan, LSan, MSan: try to find llvm-symbolizer binary in PATH if it is not provided. Now we don't need to explicitly set the location of llvm-symbolizer in lit test configs. 2013-09-03 13:22:51 +00:00
asan_stack.cc Define SANITIZER_INTERFACE_ATTRIBUTE on Windows and fix all the places where SANITIZER_INTERFACE_ATTRIBUTE or SANITIZER_ATTRIBUTE_WEAK are used 2013-08-13 11:42:45 +00:00
asan_stack.h [sanitizer] Move GetStackTrace from ASan to sanitizer_common. 2013-05-08 12:45:55 +00:00
asan_stats.cc Improve collecting malloc stats in ASan 2013-09-02 08:39:07 +00:00
asan_stats.h Improve collecting malloc stats in ASan 2013-09-02 08:39:07 +00:00
asan_thread.cc Improve collecting malloc stats in ASan 2013-09-02 08:39:07 +00:00
asan_thread.h [lsan] Handle fork() correctly. 2013-07-08 12:57:24 +00:00
asan_win.cc [sanitizer] Move GetStackTrace from ASan to sanitizer_common. 2013-05-08 12:45:55 +00:00

README.txt

AddressSanitizer RT
================================
This directory contains sources of the AddressSanitizer (asan) run-time library.
We are in the process of integrating AddressSanitizer with LLVM, stay tuned.

Directory structre:
README.txt       : This file.
Makefile.mk      : File for make-based build.
CMakeLists.txt   : File for cmake-based build.
asan_*.{cc,h}    : Sources of the asan run-time lirbary.
scripts/*        : Helper scripts.
tests/*          : ASan unit tests.
lit_tests/*      : ASan output tests.

Also ASan runtime needs the following libraries:
lib/interception/      : Machinery used to intercept function calls.
lib/sanitizer_common/  : Code shared between ASan and TSan.

Currently ASan runtime can be built by both make and cmake build systems.
(see compiler-rt/make and files Makefile.mk for make-based build and
files CMakeLists.txt for cmake-based build).

ASan unit and output tests work only with cmake. You may run this
command from the root of your cmake build tree:

make check-asan

For more instructions see:
http://code.google.com/p/address-sanitizer/wiki/HowToBuild