diff mbox series

[4/4] Update c-c++-common/tsan/atomic_stack.c

Message ID 20211001153615.81857-5-hjl.tools@gmail.com
State New
Headers show
Series libsanitizer: Merge with upstream commit 1c2e5fd66ea | expand

Commit Message

H.J. Lu Oct. 1, 2021, 3:36 p.m. UTC
Print out from __tsan_atomic32_fetch_add was removed by

commit da7a5c09c86c3f639c63ce8843d6f21c915ae1c6
Author: Dmitry Vyukov <dvyukov@google.com>
Date:   Wed Jul 28 16:57:39 2021 +0200

    tsan: don't print __tsan_atomic* functions in report stacks

    Currently __tsan_atomic* functions do FuncEntry/Exit using caller PC
    and then use current PC (pointing to __tsan_atomic* itself) during
    memory access handling. As the result the top function in reports
    involving atomics is __tsan_atomic* and the next frame points to user code.

    Remove FuncEntry/Exit in atomic functions and use caller PC
    during memory access handling. This removes __tsan_atomic*
    from the top of report stacks, so that they point right to user code.

    The motivation for this is performance.
    Some atomic operations are very hot (mostly loads),
    so removing FuncEntry/Exit is beneficial.
    This also reduces thread trace consumption (1 event instead of 3).

    __tsan_atomic* at the top of the stack is not necessary
    and does not add any new information. We already say
    "atomic write of size 4", "__tsan_atomic32_store" does not add
    anything new.

    It also makes reports consistent between atomic and non-atomic
    accesses. For normal accesses we say "previous write" and point
    to user code; for atomics we say "previous atomic write" and now
    also point to user code.

    Reviewed By: vitalybuka

    Differential Revision: https://reviews.llvm.org/D106966

	* c-c++-common/tsan/atomic_stack.c: Don't expect print out from
	__tsan_atomic32_fetch_add.
---
 gcc/testsuite/c-c++-common/tsan/atomic_stack.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/gcc/testsuite/c-c++-common/tsan/atomic_stack.c b/gcc/testsuite/c-c++-common/tsan/atomic_stack.c
index 746afa7b466..09ac7c72245 100644
--- a/gcc/testsuite/c-c++-common/tsan/atomic_stack.c
+++ b/gcc/testsuite/c-c++-common/tsan/atomic_stack.c
@@ -31,5 +31,4 @@  int main() {
 
 /* { dg-output "WARNING: ThreadSanitizer: data race.*(\n|\r\n|\r)" } */
 /* { dg-output "  Atomic write of size 4.*" } */
-/* { dg-output "    #0 __tsan_atomic32_fetch_add.*" } */
-/* { dg-output "    #1 Thread1.*" } */
+/* { dg-output "    #0 Thread1.*" } */