Commit graph

4 commits

Author SHA1 Message Date
H.J. Lu
984400f04e libsanitizer: Bump asan/tsan versions
Bump asan/tsan versions for upstream commits:

commit f1bb30a4956f83e46406d6082e5d376ce65391e0
Author: Vitaly Buka <vitalybuka@google.com>
Date:   Thu Aug 26 10:25:09 2021 -0700

    [sanitizer] No THREADLOCAL in qsort and bsearch

    qsort can reuse qsort_r if available.
    bsearch always passes key as the first comparator argument, so we
    can use it to wrap the original comparator.

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

commit d77b476c1953bcb0a608b2d6a4f2dd9fe0b43967
Author: Dmitry Vyukov <dvyukov@google.com>
Date:   Mon Aug 2 16:52:53 2021 +0200

    tsan: avoid extra call indirection in unaligned access functions

    Currently unaligned access functions are defined in tsan_interface.cpp
    and do a real call to MemoryAccess. This means we have a real call
    and no read/write constant propagation.

    Unaligned memory access can be quite hot for some programs
    (observed on some compression algorithms with ~90% of unaligned accesses).

    Move them to tsan_interface_inl.h to avoid the additional call
    and enable constant propagation.
    Also reorder the actual store and memory access handling for
    __sanitizer_unaligned_store callbacks to enable tail calling
    in MemoryAccess.

    Depends on D107282.

    Reviewed By: vitalybuka, melver

commit 97795be22f634667ce7a022398c59ccc9f7440eb
Author: Dmitry Vyukov <dvyukov@google.com>
Date:   Fri Jul 30 08:35:11 2021 +0200

    tsan: optimize test-only barrier

    The updated lots_of_threads.c test with 300 threads
    started running for too long on machines with low
    hardware parallelism (e.g. taskset -c 0-1).
    On lots of CPUs it finishes in ~2 secs. But with
    taskset -c 0-1 it runs for hundreds of seconds
    effectively spinning in the barrier in the sleep loop.

    We now have the handy futex API in sanitizer_common.
    Use it instead of the passive spin loop.
    It makes the test run only faster with taskset -c 0-1,
    it runs for ~1.5 secs, while with full parallelism
    it still runs for ~2 secs (but consumes less CPU time).

    Depends on D107131.

    Reviewed By: vitalybuka
2021-10-01 09:02:54 -07:00
H.J. Lu
4eea703e7d libsanitizer: Bump asan/tsan versions
Bump asan/tsan versions for the upstream commit:

commit acf0a6428681dccac803984bfbb1e3e54248f090
Author: Ilya Leoshkevich <iii@linux.ibm.com>
Date:   Fri Jul 2 02:42:38 2021 +0200

    [sanitizer] Fix __sanitizer_kernel_sigset_t endianness issue

    setuid(0) hangs on SystemZ under TSan because TSan's BackgroundThread
    ignores SIGSETXID. This in turn happens because internal_sigdelset()
    messes up the mask bits on big-endian system due to how
    __sanitizer_kernel_sigset_t is defined.

    Commit d9a1a53b8d80 ("[ESan] [MIPS] Fix workingset-signal-posix.cpp on
    MIPS") fixed this for MIPS by adjusting the __sanitizer_kernel_sigset_t
    definition. Generalize this by defining __SANITIZER_KERNEL_NSIG based
    on kernel's _NSIG and using uptr[] for __sanitizer_kernel_sigset_t.sig
    on all platforms.

    Reviewed By: dvyukov

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

which changed __sanitizer_kernel_sigset_t and changed the ABI for function

void __sanitizer_syscall_post_impl_rt_sigaction
  (long int, long int,
   const __sanitizer::__sanitizer_kernel_sigaction_t*,
   __sanitizer::__sanitizer_kernel_sigaction_t*,
   SIZE_T);

	* asan/libtool-version: Bump version.
	* tsan/libtool-version: Likewise.
2021-07-20 14:21:52 -07:00
Martin Liska
f6fbdc385a Update comment in libsanitizer/*/libtool-version files.
2019-11-20  Martin Liska  <mliska@suse.cz>

	* libtool-version: Remove.
	* lsan/libtool-version: Upate comment to not mention libmudflap.
	* tsan/libtool-version: Likewise.
	* ubsan/libtool-version: Likewise.

From-SVN: r278500
2019-11-20 14:52:05 +00:00
Wei Mi
cd0be65c26 tsan: New directory.
libsanitizer/
	* tsan: New directory. Import tsan runtime from llvm.
	* configure.ac: Add 64 bits tsan build.
	* Makefile.am: Likewise.
	* configure: Regenerated.
	* Makefile.in: Likewise.

From-SVN: r193737
2012-11-22 22:03:11 +00:00