History log of /external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
86277eb844c4983c81de62d7c050e92fe7155788 23-Mar-2015 Stephen Hines <srhines@google.com> Update aosp/master compiler-rt for rebase to r230699.

Change-Id: I6c415fd5f6420e3012d9da76719111721e906dfa
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
6d1862363c88c183b0ed7740fca876342cf0474b 27-Nov-2014 Stephen Hines <srhines@google.com> Update aosp/master compiler-rt for rebase to r222486.

Change-Id: I38047809dbac0425193c82e810315998adbb380d
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
6a211c5814e25d6745a5058cc0e499e5235d3821 21-Jul-2014 Stephen Hines <srhines@google.com> Update compiler-rt for rebase to r212749.

Includes a cherry-pick of:
r213309 - fixes umodsi3

Change-Id: Ic7367e3586b6af7ef74bee6a8cf437d5f28d975a
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
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/tsan/rtl/tsan_interface_atomic.cc
e1ddbf9a458e81125a03fea721997565124294ae 10-Oct-2013 Dmitry Vyukov <dvyukov@google.com> tsan: add annotations to ignore synchronization operations

The annotations are AnnotateIgnoreSyncBegin/End,
may be useful to ignore some infrastructure synchronization
that introduces lots of false negatives.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@192355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
f2c29a5dc56feed66e81a7fb3f03ef2c5ea76870 29-Jun-2013 Richard Smith <richard-llvm@metafoo.co.uk> Fix typo found by Clang fix for extern "C" function handling.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@185234 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
e7718bcc1372d25fc21100e403cf41b166d42f9b 17-Jun-2013 Dmitry Vyukov <dvyukov@google.com> tsan: consistently use return pc as top frame pc
always substract 1 from the top pc
this allows to get correct stacks with -O2


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@184112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
bb5aecb56d84e09106a88aca2d30fbb0b29b2e9c 10-Jun-2013 Dmitry Vyukov <dvyukov@google.com> tsan: more detailed trace for atomic operations (include address and memory ordering)


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@183643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
210ce0ee0190170ca6fab6f5d953885ce5f9ac89 19-Mar-2013 Dmitry Vyukov <dvyukov@google.com> tsan: do not allocate sync vars on relaxed atomic operations
helps to reduce memory consumption if an atomic is used only with relaxed ops (stats)



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
3285866e45a8521c56ba6209daf3c9f91f844fd3 01-Feb-2013 Dmitry Vyukov <dvyukov@google.com> tsan: even if races between atomic and plain memory accesses are turned off (report_atomic_races=0),
still report races between atomic accesses and free().


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@174175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
0a07b354fe95d50911c620b42fc031868ef15cc1 01-Feb-2013 Dmitry Vyukov <dvyukov@google.com> tsan: say that the memory access is atomic in reports


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@174168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
cafed29d27a9a1700aa3c828329f9db8e7592a6b 01-Feb-2013 Dmitry Vyukov <dvyukov@google.com> tsan: remember 2 stack frames for atomics (caller and atomic itself)


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@174167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
ddbe2be9dc8b8eb7d40017c077e8392daf708510 01-Feb-2013 Dmitry Vyukov <dvyukov@google.com> tsan: add flag to not report races between atomic and plain memory accesses


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@174165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
334553ec45d8982df45a6f5e656e068142ecde3f 01-Feb-2013 Dmitry Vyukov <dvyukov@google.com> tsan: detect races between plain and atomic memory accesses


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@174163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
ad9da372f962495b3487685232d09390be841b1c 06-Dec-2012 Dmitry Vyukov <dvyukov@google.com> tsan: add mutexsets to reports
With this change reports say what mutexes the threads hold around the racy memory accesses.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@169493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
37e6af28435fea112a68d7f1b86b99d24f967b04 05-Dec-2012 Dmitry Vyukov <dvyukov@google.com> tsan: fix memory barriers in atomics


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@169379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
634f0476879e4509f8520f0f1542a27e0a10ccda 04-Dec-2012 Dmitry Vyukov <dvyukov@google.com> tsan: make atomic operations atomic again


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@169273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
acc2e304d43d9ea0e76ff34a1c586fa63bc3a8d1 04-Dec-2012 Dmitry Vyukov <dvyukov@google.com> tsan: fix nand operation


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@169266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
c11e1e0f1401a95d0803317c4cdb83be3938146a 27-Nov-2012 Dmitry Vyukov <dvyukov@google.com> tsan: fix compilation for dead old compilers (why we are supporting them at all?..)


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168693 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
63da509a995a3cac9bf5495b5cb94c527ff96ce1 27-Nov-2012 Dmitry Vyukov <dvyukov@google.com> tsan: add 128-bit atomic operations


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
3c0c408fe5268058c1347b51235d564cc081e575 27-Nov-2012 Dmitry Vyukov <dvyukov@google.com> tsan: refactor atomic operations implementation
do the atomic operation under the sync object mutex
make acquire/release sync atomic with the operation itself
combine acquire and release into a single acq_rel operation


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
02b45d2aec154cb392cd6eb85e8dd16ed255351f 26-Nov-2012 Dmitry Vyukov <dvyukov@google.com> tsan: add atomic nand operation


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
fc575e52636c803262fc24bacf63a95f731b1314 23-Nov-2012 Dmitry Vyukov <dvyukov@google.com> tsan: add failure memory order to atomic compare exchange functions


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
ee8ee2437b28ab8bf6f48af15b8b446fb5d55e90 15-Nov-2012 Dmitry Vyukov <dvyukov@google.com> tsan: eevn better handling of signals
add interceptor for poll()
in addition process signals in every atomic op
in addition process signals in blocking libc functions


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
c43f2721a8cdad652b188d0e40f9f091ce35a48f 09-Nov-2012 Dmitry Vyukov <dvyukov@google.com> tsan: switch to new memory_order constants (ABI compatible)



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@167614 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
e337bf303dde9258bc7e2c87722a270fed96460b 09-Nov-2012 Dmitry Vyukov <dvyukov@google.com> tsan: add __tsan_atomicX_compare_exchange_val() function
It's easier to call from compiler module.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@167611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
529cfa05a7dd0cdbe97172045430243181e43522 04-Oct-2012 Dmitry Vyukov <dvyukov@google.com> tsan: add atomic_fetch_sub() and atomic_signal_fence() functions


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@165218 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
7ba89e5c1f7bd91a3c03d449b073c99c12f554eb 03-Oct-2012 Dmitry Vyukov <dvyukov@google.com> tsan: prepare for migration to new memory_order enum values (ABI compatible)


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@165106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
7643a5077a01f56766e2e417d1346e8340710081 31-Aug-2012 Dmitry Vyukov <dvyukov@google.com> tsan: more precise handling of atomic_store(memory_order_release)


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
47b1634df012507799eb39aa17d4022d748ba67b 07-Jun-2012 Alexey Samsonov <samsonov@google.com> [Sanitizer] move placement_new definiton from TSan to common runtime

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@158145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
603c4be006d8c53905d736bf1f19a49f5ce98276 04-Jun-2012 Alexey Samsonov <samsonov@google.com> Remove file-type tags in .cc files in tsan/ and sanitizer_common/

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@157928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
cdfb33a69a0c96c6912036ad85224972db3a7e7d 14-May-2012 Dmitry Vyukov <dvyukov@google.com> tsan: add more atomics to public interface (fetch_or/and/xor + 1-,2-byte versions)


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@156766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc
7ac41484ea322e0ea5774df681660269f5dc321e 10-May-2012 Kostya Serebryany <kcc@google.com> [tsan] First commit of ThreadSanitizer (TSan) run-time library.

Algorithm description: http://code.google.com/p/thread-sanitizer/wiki/ThreadSanitizerAlgorithm

Status:
The tool is known to work on large real-life applications, but still has quite a few rough edges.
Nothing is guaranteed yet.

The tool works on x86_64 Linux.
Support for 64-bit MacOS 10.7+ is planned for late 2012.
Support for 32-bit OSes is doable, but problematic and not yet planed.

Further commits coming:
- tests
- makefiles
- documentation
- clang driver patch

The code was previously developed at http://code.google.com/p/data-race-test/source/browse/trunk/v2/
by Dmitry Vyukov and Kostya Serebryany with contributions from
Timur Iskhodzhanov, Alexander Potapenko, Alexey Samsonov and Evgeniy Stepanov.




git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@156542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cc