Age | Commit message (Collapse) | Author |
|
mac_ignore_invalid_free was helpful when ASan runtime used to intercept
CFAllocator and sometimes corrupted its memory. This behavior had been long
gone, and the flag was unused.
This patch also deletes ReportMacCfReallocUnknown(), which was used by the
CFAllocator realloc() wrapper.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@254722 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
TSan needs to use a custom malloc zone on OS X, which is already implemented in ASan. This patch is a refactoring patch (NFC) that extracts this from ASan into sanitizer_common, where we can reuse it in TSan.
Reviewed at http://reviews.llvm.org/D14330
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@252052 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Reverting r228137 to unbreak the build bots.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@228172 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
to fix the interface_symbols_darwin.c test.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@228137 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@227968 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
and make them global so that they're not removed by `strip -x`.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@227967 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary: No functionality change.
Test Plan: make check-all
Reviewers: kcc
Reviewed By: kcc
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6472
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@223164 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208776 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@200757 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@200700 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@199380 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This change adds ASAN_OPTIONS=start_deactivated=1 flag. When present, ASan will
start in "deactivated" mode, with no heap poisoning, no quarantine, no stack
trace gathering, and minimal redzones. All this features come back when
__asan_init is called for the constructor of an instrumented library.
The primary use case for this feature is Android. Code itself is not
Android-specific, and this patch includes a Linux test for it.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@199377 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Snow Leopard and earlier systems.
Fixes https://code.google.com/p/address-sanitizer/issues/detail?id=208
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185621 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
write-protected.
Add a test.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185140 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
to out-of-bounds mprotect()s
(https://code.google.com/p/address-sanitizer/issues/detail?id=203)
Add a test.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185138 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@178629 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
ASan-specific AsanThreadRegistry.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177634 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177508 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177401 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177400 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@173134 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
finds malloc/delete, new/free, new/delete[], etc mismatches
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@170869 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@170118 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
allow using the slow CFI-based unwinder
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@170117 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
it completely to support platforms with multiple possible page sizes.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168517 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Replace the allocator only if the replace_cfallocator flag is set (in some cases it wasn't checked)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@166550 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@165493 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Fix a warning in macros instantiation.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@163716 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@163706 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This is required to overcome a crash in mstats() (http://code.google.com/p/address-sanitizer/issues/detail?id=109)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@163690 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
skewed to hold an additional CFAllocatorRef.
If so, fix the pointer and pass it to asan_free.
See http://code.google.com/p/address-sanitizer/issues/detail?id=70 for more background.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162839 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162746 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
as a shared library on Mac OS. This will provide an alternative to
mach_override.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162091 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161662 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
http://code.google.com/p/address-sanitizer/issues/detail?id=99:
when trying to free memory that actually belongs to the system purgeable zone, use malloc_zone_free(malloc_default_purgeable_zone(), ptr) instead of asan_free().
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161661 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@161576 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Test that child threads use the ASan allocator, that allocated memory can be passed to another thread and deallocated on it.
This should fix http://code.google.com/p/address-sanitizer/issues/detail?id=81
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@160630 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@159933 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
already.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@159824 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Lion,
do so by factoring the CFAllocator logic into ReplaceCFAllocator(), which is called from
either the __CFInitialize wrapper or __asan_init(), depending on which of them is called later.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@159822 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
kCFAllocatorSystemDefault._base._cfisa to 0.
This should fix http://code.google.com/p/address-sanitizer/issues/detail?id=87 on both Lion and Snow Leopard.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@159821 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
symbol is private.
This change may cause http://code.google.com/p/address-sanitizer/issues/detail?id=87 to re-appear on Lion.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@159819 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
sure we replace the default CFAllocator only after __CFInitialize has been called.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@159749 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
mz_free().
These callbacks assume that the memory belongs to asan_zone, so it's incorrect to pass it to another one.
If a need for this appears (e.g. system libraries free the memory using wrong zone), it should be documented.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@159713 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Introduce the mac_ignore_invalid_free flag (0 by default) which makes both cf_free and mz_free ignore invalid free invocations and leak memory.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@158885 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
functions directly calling it are routed to our allocator.
For the allocations that do not belong to any malloc zone check whether they're padded with a pointer to ASan's CFAllocator. If so, free the original (unpadded) pointer.
This should fix AddressSanitizerMac.NSURLDeallocation and issue 70.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@158863 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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).
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@158065 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@157927 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@157746 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
performance allows.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@153641 91177308-0d34-0410-b5e6-96231b3b80d8
|