hanchenye-llvm-project/compiler-rt/lib/asan
Alexey Samsonov 961276af26 [Sanitizer] Extend a symbolizer code. Implemented for Linux only. Use dl_iterate_phdr to get virtual addresses of mapped module sections. To symbolize an address from a module, map this module to memory and obtain pointers to debug info sections. Later these pointers can be passed to constructor of DWARF context-in-memory from LLVM DebugInfo lib.
llvm-svn: 159652
2012-07-03 08:24:14 +00:00
..
output_tests Fix the output tests on Darwin 2012-06-20 23:07:55 +00:00
scripts More accurate atos execution which depends on the file type (EXECUTE, DYLIB) of the binary. 2012-01-26 17:06:50 +00:00
tests [ASan] cmake unit tests: explicitly add necessary linker flags when linking unit tests with asan runtime 2012-06-29 11:29:39 +00:00
CMakeLists.txt [ASan] cmake cleanup: make tab/space padding in CMakeLists consistent, silence/fix some pedantic warnings 2012-07-02 06:48:10 +00:00
Makefile.mk [asan] move lib/asan/interception to lib/interception so that other tools (e.g. tsan) can use it 2012-05-15 12:21:33 +00:00
Makefile.old [asan] move tests from asan_interface_test.cc to asan_noinst_test.cc. Now all these tests do not require instrumentation and work directly with asan rt 2012-06-25 14:23:07 +00:00
README.txt Delete sysinfo/* and all references to it. 2012-01-18 11:42:30 +00:00
asan_allocator.cc tsan/asan: unify atomics (move atomics from tsan to sanitizer_common) 2012-06-29 16:58:33 +00:00
asan_allocator.h [asan] more renaming 2012-05-31 15:02:07 +00:00
asan_globals.cc [Sanitizer]: Introduce a common internal printf function. For now, also use tool-specific wrappers TsanPrintf (its output is controlled by TSan flags) and AsanPrintf (which copies its results to the ASan-private buffer). Supported formats: %[z]{d,u,x}, %s, %p. Re-write all format strings in TSan according to this format (this should have no effect on 64-bit platforms). 2012-06-06 13:11:29 +00:00
asan_interceptors.cc [ASan] cleanup: trailing semicolons, trailing colons in enums 2012-06-28 08:27:24 +00:00
asan_interceptors.h Lots of trivial changes to remove extraneous semicolons throughout ASan. 2012-06-25 06:53:10 +00:00
asan_interface.h [Sanitizer] Use common defines for ASan and TSan runtime. Split defines between interface defines (can be visible in user code that includes interface ASan/TSan headers) and internal defines. 2012-06-05 13:50:57 +00:00
asan_internal.h Factor the common code out of cf_free and mz_free. 2012-06-21 01:01:20 +00:00
asan_linux.cc [Sanitizer] move rest of mmap routines to common sanitizer runtime 2012-06-14 14:42:58 +00:00
asan_lock.h tsan/asan: unify ScopedLock 2012-06-29 17:10:08 +00:00
asan_mac.cc [ASan] cleanup: trailing semicolons, trailing colons in enums 2012-06-28 08:27:24 +00:00
asan_malloc_linux.cc [asan] get rid of '#include <malloc.h>' in the implementation of malloc interceptors 2012-06-25 09:58:29 +00:00
asan_malloc_mac.cc Factor the common code out of cf_free and mz_free. 2012-06-21 01:01:20 +00:00
asan_malloc_win.cc Remove file-type tags for .cc files in ASan run-time library 2012-06-04 13:50:10 +00:00
asan_mapping.h [asan] more renaming 2012-05-31 15:02:07 +00:00
asan_new_delete.cc Remove file-type tags for .cc files in ASan run-time library 2012-06-04 13:50:10 +00:00
asan_poisoning.cc [ASan] Make printf arguments match format strings better. 2012-06-06 10:46:00 +00:00
asan_posix.cc [Sanitizer] move ShadowRangeIsAvailable and several defines to common runtime 2012-06-15 07:29:14 +00:00
asan_printf.cc [Sanitizer] Renaming: SNPrintf -> internal_snprintf (and move it to sanitizer libc) 2012-06-19 09:21:57 +00:00
asan_rtl.cc tsan/asan: unify atomics (move atomics from tsan to sanitizer_common) 2012-06-29 16:58:33 +00:00
asan_stack.cc [Sanitizer] Extend a symbolizer code. Implemented for Linux only. Use dl_iterate_phdr to get virtual addresses of mapped module sections. To symbolize an address from a module, map this module to memory and obtain pointers to debug info sections. Later these pointers can be passed to constructor of DWARF context-in-memory from LLVM DebugInfo lib. 2012-07-03 08:24:14 +00:00
asan_stack.h Lots of trivial changes to remove extraneous semicolons throughout ASan. 2012-06-25 06:53:10 +00:00
asan_stats.cc [Sanitizer]: Introduce a common internal printf function. For now, also use tool-specific wrappers TsanPrintf (its output is controlled by TSan flags) and AsanPrintf (which copies its results to the ASan-private buffer). Supported formats: %[z]{d,u,x}, %s, %p. Re-write all format strings in TSan according to this format (this should have no effect on 64-bit platforms). 2012-06-06 13:11:29 +00:00
asan_stats.h [asan] more renaming 2012-05-31 14:35:53 +00:00
asan_thread.cc [ASan] don't include deleted header 2012-06-14 13:15:45 +00:00
asan_thread.h [asan] make tid u32 instead of int 2012-06-06 15:06:58 +00:00
asan_thread_registry.cc [Sanitizer] move more portability wrappers to common runtime: sleep, _exit, abort, atexit, pthread_self 2012-06-15 06:37:34 +00:00
asan_thread_registry.h [ASan] cmake cleanup: make tab/space padding in CMakeLists consistent, silence/fix some pedantic warnings 2012-07-02 06:48:10 +00:00
asan_win.cc [Sanitizer] Renaming: SNPrintf -> internal_snprintf (and move it to sanitizer libc) 2012-06-19 09:21:57 +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      : Currently a stub for a proper makefile. not usable.
Makefile.old     : Old out-of-tree makefile, the only usable one so far.
asan_*.{cc,h}    : Sources of the asan run-time lirbary.
mach_override/*  : Utility to override functions on Darwin (MIT License).
scripts/*        : Helper scripts.

Temporary build instructions (verified on linux):

cd lib/asan
make -f Makefile.old get_third_party  # gets googletest and cpplint
make -f Makefile.old test -j 8 CLANG_BUILD=/path/to/Release+Asserts
# Optional:
# make -f Makefile.old install # installs clang and rt to lib/asan_clang_linux

For more info see http://code.google.com/p/address-sanitizer/