| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Introduce __asan::malloc_context_size atomic that is used to determine
required malloc/free stack trace size. It is initialized with
common_flags()->malloc_context_size flag, but can later be overwritten
at runtime (e.g. when ASan is activated / deactivated).
Test Plan: regression test suite
Reviewers: kcc, eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6645
llvm-svn: 224305
|
| |
|
|
| |
llvm-svn: 197672
|
| |
|
|
| |
llvm-svn: 197670
|
| |
|
|
| |
llvm-svn: 197571
|
| |
|
|
| |
llvm-svn: 196364
|
| |
|
|
| |
llvm-svn: 196303
|
| |
|
|
|
|
|
| |
Expose a new interface function for debugging code built with sanitizer tools.
Add an ASan implementation.
llvm-svn: 196302
|
| |
|
|
| |
llvm-svn: 193834
|
| |
|
|
|
|
| |
to turn on/off the symbolization
llvm-svn: 193587
|
| |
|
|
|
|
| |
this makes the reports consistent with tsan, and much more readable.
llvm-svn: 193520
|
| |
|
|
| |
llvm-svn: 192990
|
| |
|
|
|
|
| |
the stack depot
llvm-svn: 192979
|
| |
|
|
|
|
| |
across sanitizers
llvm-svn: 191943
|
| |
|
|
|
|
| |
SANITIZER_INTERFACE_ATTRIBUTE or SANITIZER_ATTRIBUTE_WEAK are used
llvm-svn: 188261
|
| |
|
|
|
|
|
| |
Some flags that are common to ASan/MSan/TSan/LSan have been moved to
sanitizer_common.
llvm-svn: 181193
|
| |
|
|
| |
llvm-svn: 177400
|
| |
|
|
|
|
| |
that makes sure users can include interface header
llvm-svn: 174058
|
| |
|
|
|
|
| |
hooks on Linux: don't provide a default no-op implementations for hooks in runtime, and optionally call hooks if they are provided by the user. Don't force weak interface functions into runtime.
llvm-svn: 169641
|
| |
|
|
|
|
| |
Fall back to module+offset if user-provided symbolizer failed. Use weak function __asan_symbolize instead of __asan_set_symbolize_callback in ASan interface, so that we're able to symbolize reports for errors that happen before the main() is called, for example, during module initialization.
llvm-svn: 165000
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
library.
These headers are intended to be available to user code when built with
AddressSanitizer (or one of the other sanitizer's in the future) to
interface with the runtime library. As such, they form stable external
C interfaces, and the headers shouldn't be located within the
implementation.
I've pulled them out into what seem like fairly obvious locations and
names, but I'm wide open to further bikeshedding of these names and
locations.
I've updated the code and the build system to cope with the new
locations, both CMake and Makefile. Please let me know if this breaks
anyone's build.
The eventual goal is to install these headers along side the Clang
builtin headers when we build the ASan runtime and install it. My
current thinking is to locate them at:
<prefix>/lib/clang/X.Y/include/sanitizer/common_interface_defs.h
<prefix>/lib/clang/X.Y/include/sanitizer/asan_interface.h
<prefix>/lib/clang/X.Y/include/sanitizer/...
But maybe others have different suggestions?
Fixing the style of the #include between these headers at least unblocks
experimentation with installing them as they now should work when
installed in these locations.
llvm-svn: 162822
|
| |
|
|
| |
llvm-svn: 162757
|
| |
|
|
| |
llvm-svn: 162754
|
| |
|
|
| |
llvm-svn: 162752
|
| |
|
|
| |
llvm-svn: 162747
|
| |
|
|
| |
llvm-svn: 162746
|
| |
|
|
|
|
| |
by providing stub implementation
llvm-svn: 162671
|
| |
|
|
|
|
| |
__asan_set_symbolize_callback interface function. Now the user doesn't have to recompile ASan runtime to provide its own symbolizer
llvm-svn: 162358
|
| |
|
|
| |
llvm-svn: 161946
|
| |
|
|
|
|
|
|
| |
__attribute__((visibility("default")))
Export CheckFailed, asan_malloc, asan_free, asan_memalign, AsanStackTrace::CompressStack, AsanStackTrace::UncompressStack from the dynamic runtime library.
llvm-svn: 161943
|
| |
|
|
|
|
| |
from filenames in stack traces
llvm-svn: 161321
|
| |
|
|
|
|
| |
contain return addresses). Make output tests stricter.
llvm-svn: 160508
|
| |
|
|
| |
llvm-svn: 159933
|
| |
|
|
| |
llvm-svn: 159709
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
instruction address
llvm-svn: 158522
|
| |
|
|
| |
llvm-svn: 158448
|
| |
|
|
| |
llvm-svn: 158139
|
| |
|
|
|
|
| |
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).
llvm-svn: 158065
|
| |
|
|
| |
llvm-svn: 157999
|
| |
|
|
| |
llvm-svn: 157927
|
| |
|
|
| |
llvm-svn: 157924
|
| |
|
|
| |
llvm-svn: 157747
|
| |
|
|
| |
llvm-svn: 157746
|
| |
|
|
|
|
|
|
|
|
|
|
| |
At the moment, asan internal Printf() uses %l modifier for printing
values of size_t and related types. This works, because we control
both the implementation of Printf and all its uses, but can be a
little misleading.
This change adds support for %z to Printf(). All callers that print
sizes and pointers as integers are switched to %zu / %zx.
llvm-svn: 153177
|
| |
|
|
|
|
| |
thanks to 'csmith' fuzzer)
llvm-svn: 152347
|
| |
|
|
| |
llvm-svn: 150073
|
| |
|
|
|
|
|
| |
The change removes the unused FLAG_fast_unwind, and forces EHABI-based unwind
on ARM, and fast (FP-based) unwind everywhere else.
llvm-svn: 148468
|
| |
|
|
| |
llvm-svn: 148386
|
| |
|
|
| |
llvm-svn: 147796
|
| |
|
|
|
|
| |
/proc/self/maps
llvm-svn: 147628
|