History log of /external/compiler-rt/lib/asan/asan_thread.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2d1fdb26e458c4ddc04155c1d421bced3ba90cd0 29-May-2014 Stephen Hines <srhines@google.com> Update compiler-rt aosp/master for 3.5 (r209699) rebase.

Change-Id: I158a30186f0faea2e2400e9dfdd878db2eb40e90
/external/compiler-rt/lib/asan/asan_thread.h
6d95869fa900da9ddd68e15e2aa065854cfa176b 18-Oct-2013 Kostya Serebryany <kcc@google.com> [asan] reduce the size of AsanThreadContext by storing the stack trace in the stack depot

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@192979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
e86e35fbe861e73c5991200510a028877427b3e7 14-Oct-2013 Sergey Matveev <earthdok@google.com> [asan] Improve thread lifetime tracking on POSIX systems.

Call AsanThread::Destroy() from a late-running TSD destructor.
Previously we called it before any user-registered TSD destructors, which caused
false positives in LeakSanitizer.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@192585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
81b0fe0ae241ca12882f653dcf6b13eaa5ca284d 20-Sep-2013 Kostya Serebryany <kcc@google.com> [asan] nuke yet another async-signal-safety bug in UAR (oh, my)

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@191080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
621770a196153ee61b338d34bafd1170c1899444 19-Sep-2013 Kostya Serebryany <kcc@google.com> [asan] fix one more async-signal-safety issue with use-after-return

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@191004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
230e52f4e91b53f05ce19dbbf11047f4a0113483 18-Sep-2013 Kostya Serebryany <kcc@google.com> [asan] add a run-time option detect_stack_use_after_return, add verbosity output for fake stack

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
9433af375c7813486be91d2ac76f5072ee41818d 13-Sep-2013 Kostya Serebryany <kcc@google.com> [asan] second attempt to use TLS with fake stack. This time it looks (more) async-signal safe.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
dcf98bf49d68533c7aebadbf6c4467afdd486c99 12-Sep-2013 Kostya Serebryany <kcc@google.com> [asan] don't lazy-init fake_stack if we only need to check that fake_stack exists (should fix 32-bit builds)

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
c98fc1f8e52812cfaf5b19a29db5ed56acb0a682 12-Sep-2013 Kostya Serebryany <kcc@google.com> [asan] hopefully make the FakeStack async-signal safe, enable the related test

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
96a575f05b2a45774170a118ea69ddae3659b645 12-Sep-2013 Evgeniy Stepanov <eugeni.stepanov@gmail.com> [asan] Fix deadlock in stack unwinder on android/x86.

Fixes PR17116.
Patch by 林作健 (manjian2006 at gmail.com).


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
ac3ae5dc29d3623ada2bcb0db22ee88b0382e3b1 12-Sep-2013 Kostya Serebryany <kcc@google.com> [asan] fully re-implement the FakeStack (use-after-return) to make it faster and async-signal-safe. The implementation is not yet complete (see FIXMEs) but the existing tests pass.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@190588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
c6ac98d7fcc81768b2ef7ddc785c27e3fc1bdef6 08-Jul-2013 Sergey Matveev <earthdok@google.com> [lsan] Handle fork() correctly.

Update the main thread's os_id on every pthread_create, and before
initiating leak checking. This ensures that we have the correct os_id even if we
have forked after Init().

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
7a0bba457ee05ced3adf37a0c0790d0ed23a5446 26-Jun-2013 Kostya Serebryany <kcc@google.com> [asan] initialize fake_stack lazily and increase its maximal size. This makes -fsanitize=address,use-after-return more robust: all SPEC tests pass now. In the default mode thread stacks become a bit smaller.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
200afbd8ba4904241c1ebcef4fa79d739ca01f73 21-Jun-2013 Sergey Matveev <earthdok@google.com> [asan] Move lsan_disabled out of thread context.

Fix for the case where disabler is used in pthread key destructor.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
5e719a705666988781b9735d62cafc808ade60e2 03-Jun-2013 Sergey Matveev <earthdok@google.com> [lsan] Add __lsan_disable() and __lsan_enable().

Objects allocated after a call to __lsan_disable() will be treated as
live memory. Also add a ScopedDisabler.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@183099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
12d01bac1c09a8412546e71485a3cba2d416c0fc 29-May-2013 Sergey Matveev <earthdok@google.com> [asan] Make ASan report the correct thread address ranges to LSan.

This CL enables thread support in LSan when used on top of ASan.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
244384d1a8a518c0b1ceaa5809333a91db1104b6 11-Apr-2013 Kostya Serebryany <kcc@google.com> [asan] move fake stack into a separate .h file; actually disable a failing test

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@179273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
50f3daa00d3da0a80c8798a3e977705e96ec106f 22-Mar-2013 Kostya Serebryany <kcc@google.com> [asan] Change the way we report the alloca frame on stack-buff-overflow.

Before: the function name was stored by the compiler as a constant string
and the run-time was printing it.
Now: the PC is stored instead and the run-time prints the full symbolized frame.
This adds a couple of instructions into every function with non-empty stack frame,
but also reduces the binary size because we store less strings (I saw 2% size reduction).
This change bumps the asan ABI version to v3.

compiler-rt part, llvm part will follow.

Example of report (now):
==31711==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fffa77cf1c5 at pc 0x41feb0 bp 0x7fffa77cefb0 sp 0x7fffa77cefa8
READ of size 1 at 0x7fffa77cf1c5 thread T0
#0 0x41feaf in Frame0(int, char*, char*, char*) stack-oob-frames.cc:20
#1 0x41f7ff in Frame1(int, char*, char*) stack-oob-frames.cc:24
#2 0x41f477 in Frame2(int, char*) stack-oob-frames.cc:28
#3 0x41f194 in Frame3(int) stack-oob-frames.cc:32
#4 0x41eee0 in main stack-oob-frames.cc:38
#5 0x7f0c5566f76c (/lib/x86_64-linux-gnu/libc.so.6+0x2176c)
#6 0x41eb1c (/usr/local/google/kcc/llvm_cmake/a.out+0x41eb1c)
Address 0x7fffa77cf1c5 is located in stack of thread T0 at offset 293 in frame
#0 0x41f87f in Frame0(int, char*, char*, char*) stack-oob-frames.cc:12 <<<<<<<<<<<<<< this is new
This frame has 6 object(s):
[32, 36) 'frame.addr'
[96, 104) 'a.addr'
[160, 168) 'b.addr'
[224, 232) 'c.addr'
[288, 292) 's'
[352, 360) 'd'




git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
def1be9b7ef4091ce465c0fbfb26cdb52128ade8 21-Mar-2013 Alexey Samsonov <samsonov@google.com> [ASan] Switch ASan to generic ThreadRegistry from sanitizer_common. Delete ASan-specific AsanThreadRegistry.

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
89c1384464848c1ad041becf8b97936fa10de21b 20-Mar-2013 Alexey Samsonov <samsonov@google.com> [ASan] Move GetCurrentThread/SetCurrentThread from AsanThreadRegistry class into plain functions: they don't actually use registry

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
716e2f25123bf9b20fbc6b582803a3929b78b96d 07-Dec-2012 Kostya Serebryany <kcc@google.com> [asan] intercept prctl(PR_SET_NAME) and set the thread name. Output the thread names (if non-empty) in asan reports

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@169601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
71b42c9740e6f73da607aaa539affb5c4807231c 05-Sep-2012 Alexey Samsonov <samsonov@google.com> [ASan] Add print_full_thread_history runtime option (on by default) that prints all full thread creation paths for threads involved in ASan error report

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@163200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
5092682c3a6902e460a6e439cf48b3dc7d48dc65 30-Aug-2012 Alexey Samsonov <samsonov@google.com> Whitespace/lint

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
cc347222d55967fdb775429a8a0a3a5d795b8b50 28-Aug-2012 Kostya Serebryany <kcc@google.com> [asan] even more refactoring to move StackTrace to sanitizer_common

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
c3390df6670cb166119b961eb27a033fb9073496 28-Aug-2012 Kostya Serebryany <kcc@google.com> [asan] some renaming before we move StackTrace into sanitizer_common

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
283c296b64bc55deec9698260b3427a9b050a925 28-Aug-2012 Kostya Serebryany <kcc@google.com> [asan] get rid of AsanPrintf in favor of Printf from sanitizer_common

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
b134ffa00ce2a4cbf7f48ac029e31c3e6e23ff6b 17-Jul-2012 Kostya Serebryany <kcc@google.com> [asan] get rid of the last operator new call in asan rtl

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@160347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
e0cff0bc20ae51790c8edfbceb817e18ebf5355e 06-Jun-2012 Kostya Serebryany <kcc@google.com> [asan] make tid u32 instead of int

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@158074 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
e954101f6602ac181a2c3accfbbad0ae51b0bf7c 06-Jun-2012 Alexey Samsonov <samsonov@google.com> [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).

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@158065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
3f4c3875c42078e22c7e5356c5746fd18756d958 31-May-2012 Kostya Serebryany <kcc@google.com> [asan] more renaming

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@157746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
6f350e0d1c385189cb94ddde7b288a2533b45b32 22-May-2012 Kostya Serebryany <kcc@google.com> [asan] increase the stack size limit to 256M (yes, that happens); also CHECK that the stack size is less than that on a non-main thread

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@157249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
600972e3427173cc8904d741decd1af0ed5de9fd 24-Feb-2012 Timur Iskhodzhanov <timurrrr@google.com> [ASan] Intercept CreateThread on Windows

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@151366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
f58f998066db0231e521169d2f50af439ceecb49 07-Feb-2012 Kostya Serebryany <kcc@google.com> [asan] make sure the AsanThread object is destroyed if pthread_exit is called

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@149940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
55cdfc6c5af92560bc0623b5a0d70af71511c3c8 17-Jan-2012 Alexey Samsonov <samsonov@google.com> AddressSanitizer: create AsanThreadSummary together with AsanThread (in parent thread)

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@148286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
a6b52264e1231bfc4ee9a2d9a4f32678c97295f0 06-Jan-2012 Kostya Serebryany <kcc@google.com> [asan] do not use new/delete for the internal thread structure

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@147674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
69eca73ac96688c8bfe1f23ee006af29c7858c40 16-Dec-2011 Kostya Serebryany <kcc@google.com> Recently the GCD tests started failing because of the invalid size of
FakeStack on the worker threads.
This patch moves the AsanThread initialization into a separate
procedure that's called when AsanThread objects are called for worker
threads.
Patch by glider@google.com



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@146752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h
1e172b4bdec57329bf904f063a29f99cddf2d85f 30-Nov-2011 Kostya Serebryany <kcc@google.com> AddressSanitizer run-time library. Not yet integrated with the compiler-rt build system, but can be built using the old makefile. See details in README.txt

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@145463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/asan/asan_thread.h