| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 163294
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
__asan_set_symbolize_callback interface function. Now the user doesn't have to recompile ASan runtime to provide its own symbolizer
llvm-svn: 162358
|
| |
|
|
|
|
| |
asan_symbolize.py on -fPIE binaries.
llvm-svn: 161948
|
| |
|
|
| |
llvm-svn: 161932
|
| |
|
|
| |
llvm-svn: 161666
|
| |
|
|
|
|
|
|
| |
in a binary built with -dead_strip.
Fix force_interface_symbols() so that none of the interface symbols is stripped.
llvm-svn: 161582
|
| |
|
|
|
|
| |
from filenames in stack traces
llvm-svn: 161321
|
| |
|
|
|
|
|
|
|
| |
Users may define it to override the default ASan options.
This function has to be marked with __attribute__((no_address_safety_analysis)), because it is called before ASan is fully initialized.
Add an output test checking the __asan_default_options functionality.
llvm-svn: 160712
|
| |
|
|
|
|
| |
contain return addresses). Make output tests stricter.
llvm-svn: 160508
|
| |
|
|
| |
llvm-svn: 158870
|
| |
|
|
|
|
| |
It turns out that atos does not print the symbol names for static C++ functions correctly (one of the two leading underscores is omitted), so they remain mangled.
llvm-svn: 157742
|
| |
|
|
| |
llvm-svn: 157569
|
| |
|
|
|
|
| |
depending on -m32/-m64 addr2line says either e.g. __xsan_strnlen or just strnlen
llvm-svn: 157464
|
| |
|
|
|
|
|
|
|
| |
The idea isthat asan/tsan can survive if user intercepts the same functions. At the same time user has an ability to call back into asan/tsan runtime. See the following tests for examples:
asan/output_tests/interception_failure_test-linux.cc
asan/output_tests/interception_test-linux.cc
asan/output_tests/interception_malloc_test-linux.cc
llvm-svn: 157388
|
| |
|
|
| |
llvm-svn: 154589
|
| |
|
|
|
|
| |
and now they are symbolized a bit differently
llvm-svn: 154581
|
| |
|
|
| |
llvm-svn: 152768
|
| |
|
|
| |
llvm-svn: 152594
|
| |
|
|
| |
llvm-svn: 151042
|
| |
|
|
| |
llvm-svn: 150386
|
| |
|
|
| |
llvm-svn: 150385
|
| |
|
|
|
|
| |
OS-specific and OS-independent parts
llvm-svn: 150384
|
| |
|
|
|
|
| |
move them inside sources
llvm-svn: 150375
|
| |
|
|
| |
llvm-svn: 150368
|
|
|
llvm-svn: 150367
|