| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When prelink is installed in the system, prelink-ed
libraries map between 0x003000000000 and 0x004000000000 thus occupying the shadow Gap,
so we need so split the address space even further, like this:
|| [0x10007fff8000, 0x7fffffffffff] || HighMem ||
|| [0x02008fff7000, 0x10007fff7fff] || HighShadow ||
|| [0x004000000000, 0x02008fff6fff] || ShadowGap3 ||
|| [0x003000000000, 0x003fffffffff] || MidMem ||
|| [0x00087fff8000, 0x002fffffffff] || ShadowGap2 ||
|| [0x00067fff8000, 0x00087fff7fff] || MidShadow ||
|| [0x00008fff7000, 0x00067fff7fff] || ShadowGap ||
|| [0x00007fff8000, 0x00008fff6fff] || LowShadow ||
|| [0x000000000000, 0x00007fff7fff] || LowMem ||
Do it only if necessary.
Also added a bit of profiling code to make sure that the
mapping code is efficient.
Added a lit test to simulate prelink-ed libraries.
Unfortunately, this test does not work with binutils-gold linker.
If gold is the default linker the test silently passes.
Also replaced
__has_feature(address_sanitizer)
with
__has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__)
in two places.
Patch partially by Jakub Jelinek.
llvm-svn: 175263
|
|
|
|
| |
llvm-svn: 175157
|
|
|
|
|
|
| |
The test may hang now if a regression occurs.
llvm-svn: 175155
|
|
|
|
|
|
|
|
|
| |
existing DYLD_INSERT_LIBRARIES correctly.
Previously ASan used to hang in an exec loop, because it failed to overwrite the env var value
(see https://code.google.com/p/address-sanitizer/issues/detail?id=159).
llvm-svn: 175059
|
|
|
|
| |
llvm-svn: 174861
|
|
|
|
| |
llvm-svn: 174710
|
|
|
|
|
|
| |
Also fix large_func_test.cc, which got broken when we switched to allocator2: the OOB access was too far from the original allocation, so ASan decided to describe the next one.
llvm-svn: 174626
|
|
|
|
|
|
|
|
|
|
| |
In case of partial right OOB, ASan was reporting
X is located 0 bytes to the right of [A, B)
where X was actually inside [A, B).
With this change, ASan will report B as the error address in such case.
llvm-svn: 174373
|
|
|
|
|
|
| |
that makes sure users can include interface header
llvm-svn: 174058
|
|
|
|
|
|
| |
match the behavior of llvm unittests
llvm-svn: 173926
|
|
|
|
| |
llvm-svn: 173910
|
|
|
|
| |
llvm-svn: 173786
|
|
|
|
| |
llvm-svn: 173146
|
|
|
|
| |
llvm-svn: 173140
|
|
|
|
|
|
| |
We already have Darwin-specific version of this test.
llvm-svn: 173136
|
|
|
|
|
|
|
|
| |
This CL drastically simplifies the way we're hooking the memory allocation routines in ASan on Mac by using dylib interposition to replace the main malloc_zone_* functions. This allows us to avoid replacing the default CFAllocator and drop the CF dependency at all.
Committing this patch will result in the static runtime being broken. A follow-up CL will switch ASan to use the dynamic runtime library.
llvm-svn: 173134
|
|
|
|
| |
llvm-svn: 172976
|
|
|
|
|
|
| |
child processes after fork().
llvm-svn: 172828
|
|
|
|
| |
llvm-svn: 171181
|
|
|
|
|
|
| |
produce working binaries and use it in build rules for sanitizers tests
llvm-svn: 171160
|
|
|
|
|
|
| |
10.7 (where extra frames creep in between malloc and main)
llvm-svn: 171145
|
|
|
|
| |
llvm-svn: 171112
|
|
|
|
| |
llvm-svn: 170878
|
|
|
|
|
|
| |
finds malloc/delete, new/free, new/delete[], etc mismatches
llvm-svn: 170869
|
|
|
|
|
|
|
| |
This test didn't pass for me locally because of "T0's stack" being converted to "T0'short stack" by c++filt.
Strange enough this doesn't show up on our bots.
llvm-svn: 170690
|
|
|
|
|
|
| |
check this
llvm-svn: 170124
|
|
|
|
|
|
| |
for SlowUnwind. Move both to Linux dir (no slow unwind on Mac)
llvm-svn: 170122
|
|
|
|
| |
llvm-svn: 170121
|
|
|
|
| |
llvm-svn: 170111
|
|
|
|
| |
llvm-svn: 169660
|
|
|
|
| |
llvm-svn: 169646
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
these functions are inserted by the instrumentation pass in use-after-scope mode
llvm-svn: 169201
|
|
|
|
|
|
| |
output tests
llvm-svn: 168951
|
|
|
|
| |
llvm-svn: 168513
|
|
|
|
|
|
| |
of its use cases.
llvm-svn: 168508
|
|
|
|
| |
llvm-svn: 167823
|
|
|
|
| |
llvm-svn: 167727
|
|
|
|
|
|
|
| |
This is the first (1/2) part of a change that moves llvm-symbolizer to llvm/tools/, which will allow to build it
with both cmake and configure+make.
llvm-svn: 167722
|
|
|
|
|
|
|
| |
The change has been caused by the switch to llvm-symbolizer, that prints inlined stack frames.
This should fix PR 14251
llvm-svn: 167721
|
|
|
|
|
|
| |
Darwin
llvm-svn: 167610
|
|
|
|
| |
llvm-svn: 167434
|
|
|
|
|
|
| |
configs
llvm-svn: 167010
|
|
|
|
|
|
| |
limitations of the pass manager stack in the pass manager builder.
llvm-svn: 166173
|
|
|
|
|
|
| |
asan a FunctionPass). The test is not actually enabled for -O0 yet (since it fails)
llvm-svn: 166103
|
|
|
|
|
|
| |
after 'AddressSanitizer' and b) changed 'crashed' to 'SEGV'
llvm-svn: 165932
|
|
|
|
| |
llvm-svn: 165391
|
|
|
|
| |
llvm-svn: 165214
|
|
|
|
|
|
| |
__asan_on_error, so that ASan would call the latter even if it finds the error early (i.e. during module initialization)
llvm-svn: 165008
|
|
|
|
|
|
| |
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
|