mbox series

[0/4] libsanitizer: Sync with upstream

Message ID 20210720205506.296273-1-hjl.tools@gmail.com
Headers show
Series libsanitizer: Sync with upstream | expand

Message

H.J. Lu July 20, 2021, 8:55 p.m. UTC
1. Sync with upstream commit 7704fedfff6ef5676adb6415f3be0ac927d1a746
2. Apply local patche
3. Update LOCAL_PATCHES
4. 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

which 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);

Tested on Linux/i686 and Linux/x86-64.  OK for master?

H.J. Lu (4):
  libsanitizer: Merge with upstream
  libsanitizer: Apply local patches
  libsanitizer: Update LOCAL_PATCHES
  libsanitizer: Bump asan/tsan versions

 libsanitizer/LOCAL_PATCHES                    |   3 +-
 libsanitizer/MERGE                            |   2 +-
 libsanitizer/asan/Makefile.am                 |   1 -
 libsanitizer/asan/Makefile.in                 |   8 +-
 libsanitizer/asan/asan_allocator.cpp          |  10 +-
 libsanitizer/asan/asan_errors.cpp             |   1 -
 libsanitizer/asan/asan_fake_stack.cpp         |  50 +++-
 libsanitizer/asan/asan_flags.cpp              |   4 -
 libsanitizer/asan/asan_flags.inc              |   3 +-
 libsanitizer/asan/asan_interceptors.cpp       |  28 +-
 libsanitizer/asan/asan_interceptors.h         |   4 +-
 .../asan/asan_interceptors_memintrinsics.cpp  |   6 +-
 libsanitizer/asan/asan_interface.inc          |  11 +
 libsanitizer/asan/asan_internal.h             |  15 +-
 libsanitizer/asan/asan_malloc_linux.cpp       |  36 +--
 libsanitizer/asan/asan_malloc_local.h         |  52 ----
 libsanitizer/asan/asan_mapping.h              |  29 +-
 libsanitizer/asan/asan_mapping_myriad.h       |  85 ------
 libsanitizer/asan/asan_new_delete.cpp         |  20 +-
 libsanitizer/asan/asan_poisoning.cpp          |  19 +-
 libsanitizer/asan/asan_poisoning.h            |   3 -
 libsanitizer/asan/asan_rtems.cpp              | 266 -----------------
 libsanitizer/asan/asan_rtl.cpp                |  47 ++-
 libsanitizer/asan/asan_shadow_setup.cpp       |  11 +-
 libsanitizer/asan/asan_stack.cpp              |   3 +-
 libsanitizer/asan/asan_thread.cpp             |  45 +--
 libsanitizer/asan/asan_thread.h               |  17 +-
 libsanitizer/asan/libtool-version             |   2 +-
 libsanitizer/hwasan/Makefile.am               |   2 +
 libsanitizer/hwasan/Makefile.in               |   9 +-
 libsanitizer/hwasan/hwasan.cpp                |  77 ++++-
 libsanitizer/hwasan/hwasan.h                  |  42 ++-
 .../hwasan/hwasan_allocation_functions.cpp    | 172 +++++++++++
 libsanitizer/hwasan/hwasan_allocator.cpp      |  35 ++-
 libsanitizer/hwasan/hwasan_allocator.h        |   7 +-
 libsanitizer/hwasan/hwasan_dynamic_shadow.cpp |   4 +-
 libsanitizer/hwasan/hwasan_fuchsia.cpp        | 192 ++++++++++++
 libsanitizer/hwasan/hwasan_interceptors.cpp   | 182 +-----------
 libsanitizer/hwasan/hwasan_linux.cpp          | 166 ++++-------
 libsanitizer/hwasan/hwasan_mapping.h          |  17 +-
 libsanitizer/hwasan/hwasan_new_delete.cpp     |  39 ++-
 libsanitizer/hwasan/hwasan_poisoning.cpp      |  24 --
 libsanitizer/hwasan/hwasan_report.cpp         | 206 ++++++++-----
 libsanitizer/hwasan/hwasan_thread.cpp         |  21 +-
 libsanitizer/hwasan/hwasan_thread.h           |  11 +-
 libsanitizer/hwasan/hwasan_thread_list.cpp    |   2 +-
 libsanitizer/hwasan/hwasan_thread_list.h      |   8 +-
 .../include/sanitizer/dfsan_interface.h       |  95 +++---
 libsanitizer/interception/interception.h      |  33 +-
 libsanitizer/lsan/lsan.cpp                    |  14 +-
 libsanitizer/lsan/lsan_common.h               |   4 +-
 libsanitizer/lsan/lsan_thread.cpp             |   7 +-
 libsanitizer/sanitizer_common/Makefile.am     |   2 +-
 libsanitizer/sanitizer_common/Makefile.in     |  19 +-
 .../sanitizer_common/sanitizer_addrhashmap.h  | 106 +++----
 .../sanitizer_common/sanitizer_allocator.cpp  |  38 +--
 .../sanitizer_allocator_combined.h            |   4 +-
 .../sanitizer_allocator_local_cache.h         |  19 +-
 .../sanitizer_allocator_primary32.h           |   4 +-
 .../sanitizer_allocator_primary64.h           | 170 +++++------
 .../sanitizer_allocator_secondary.h           |   8 +-
 .../sanitizer_common/sanitizer_common.cpp     |  15 +-
 .../sanitizer_common/sanitizer_common.h       |  23 +-
 .../sanitizer_common_interceptors.inc         |  84 ++++--
 .../sanitizer_common_libcdep.cpp              |   4 +-
 .../sanitizer_common_nolibc.cpp               |   1 -
 .../sanitizer_deadlock_detector1.cpp          |   2 +-
 .../sanitizer_deadlock_detector2.cpp          |  32 +-
 .../sanitizer_common/sanitizer_errno.h        |   3 +-
 .../sanitizer_common/sanitizer_fuchsia.cpp    |  33 +-
 .../sanitizer_common/sanitizer_fuchsia.h      |   2 +
 .../sanitizer_common/sanitizer_libc.h         |   3 +-
 .../sanitizer_common/sanitizer_libignore.cpp  |  25 ++
 .../sanitizer_common/sanitizer_libignore.h    |  35 +--
 .../sanitizer_common/sanitizer_linux.cpp      |  46 ++-
 .../sanitizer_linux_libcdep.cpp               |  37 ++-
 .../sanitizer_common/sanitizer_mac.cpp        |  13 +-
 .../sanitizer_common/sanitizer_mutex.cpp      |  39 +++
 .../sanitizer_common/sanitizer_mutex.h        | 272 ++++++++++++++---
 .../sanitizer_common/sanitizer_netbsd.cpp     |  11 +-
 .../sanitizer_common/sanitizer_platform.h     |  25 +-
 .../sanitizer_platform_interceptors.h         |  12 +-
 .../sanitizer_platform_limits_posix.h         |  10 +-
 .../sanitizer_posix_libcdep.cpp               |  15 +-
 .../sanitizer_common/sanitizer_printf.cpp     |  27 +-
 .../sanitizer_common/sanitizer_quarantine.h   |   3 +-
 .../sanitizer_common/sanitizer_rtems.cpp      | 281 ------------------
 .../sanitizer_common/sanitizer_rtems.h        |  20 --
 .../sanitizer_common/sanitizer_solaris.cpp    |  18 +-
 .../sanitizer_common/sanitizer_stacktrace.h   |  36 ++-
 .../sanitizer_stacktrace_libcdep.cpp          | 185 ++++++++----
 .../sanitizer_symbolizer_markup.cpp           |  15 +-
 .../sanitizer_symbolizer_report.cpp           |  22 +-
 .../sanitizer_symbolizer_rtems.h              |  40 ---
 .../sanitizer_thread_registry.cpp             |  29 +-
 .../sanitizer_thread_registry.h               |  18 +-
 .../sanitizer_thread_safety.h                 |  42 +++
 .../sanitizer_common/sanitizer_win.cpp        |  26 +-
 libsanitizer/tsan/Makefile.am                 |   3 +-
 libsanitizer/tsan/Makefile.in                 |   8 +-
 libsanitizer/tsan/libtool-version             |   2 +-
 libsanitizer/tsan/tsan_clock.cpp              |  29 +-
 libsanitizer/tsan/tsan_defs.h                 |  16 -
 libsanitizer/tsan/tsan_interceptors.h         |  16 +-
 libsanitizer/tsan/tsan_interceptors_mac.cpp   |   9 +-
 libsanitizer/tsan/tsan_interceptors_posix.cpp |  41 ++-
 libsanitizer/tsan/tsan_interface.h            |   3 +-
 libsanitizer/tsan/tsan_interface_ann.cpp      |   6 +-
 libsanitizer/tsan/tsan_interface_atomic.cpp   |  54 ++--
 libsanitizer/tsan/tsan_mman.cpp               |   5 +-
 libsanitizer/tsan/tsan_mutex.cpp              |  11 +-
 libsanitizer/tsan/tsan_mutex.h                |   5 +-
 libsanitizer/tsan/tsan_platform.h             |  54 ++++
 libsanitizer/tsan/tsan_platform_linux.cpp     |   6 +
 libsanitizer/tsan/tsan_platform_posix.cpp     |  20 +-
 libsanitizer/tsan/tsan_rtl.cpp                |  51 +---
 libsanitizer/tsan/tsan_rtl.h                  |  21 --
 libsanitizer/tsan/tsan_rtl_mutex.cpp          |  17 --
 libsanitizer/tsan/tsan_rtl_s390x.S            |  47 +++
 libsanitizer/tsan/tsan_rtl_thread.cpp         |  12 -
 libsanitizer/tsan/tsan_stack_trace.cpp        |   8 +-
 libsanitizer/tsan/tsan_stat.cpp               | 186 ------------
 libsanitizer/tsan/tsan_stat.h                 | 191 ------------
 libsanitizer/tsan/tsan_sync.cpp               |   5 +-
 libsanitizer/tsan/tsan_trace.h                |   4 +-
 .../tsan/tsan_update_shadow_word_inl.h        |  12 +-
 libsanitizer/ubsan/ubsan_diag_standalone.cpp  |   8 +-
 libsanitizer/ubsan/ubsan_platform.h           |   8 +-
 128 files changed, 2256 insertions(+), 2626 deletions(-)
 delete mode 100644 libsanitizer/asan/asan_malloc_local.h
 delete mode 100644 libsanitizer/asan/asan_mapping_myriad.h
 delete mode 100644 libsanitizer/asan/asan_rtems.cpp
 create mode 100644 libsanitizer/hwasan/hwasan_allocation_functions.cpp
 create mode 100644 libsanitizer/hwasan/hwasan_fuchsia.cpp
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_mutex.cpp
 delete mode 100644 libsanitizer/sanitizer_common/sanitizer_rtems.cpp
 delete mode 100644 libsanitizer/sanitizer_common/sanitizer_rtems.h
 delete mode 100644 libsanitizer/sanitizer_common/sanitizer_symbolizer_rtems.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_thread_safety.h
 create mode 100644 libsanitizer/tsan/tsan_rtl_s390x.S
 delete mode 100644 libsanitizer/tsan/tsan_stat.cpp
 delete mode 100644 libsanitizer/tsan/tsan_stat.h

Comments

Jeff Law July 20, 2021, 8:58 p.m. UTC | #1
On 7/20/2021 2:55 PM, H.J. Lu via Gcc-patches wrote:
> 1. Sync with upstream commit 7704fedfff6ef5676adb6415f3be0ac927d1a746
> 2. Apply local patche
> 3. Update LOCAL_PATCHES
> 4. 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
>
> which 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);
>
> Tested on Linux/i686 and Linux/x86-64.  OK for master?
If it's resync and reapplying local patches, then it's OK and doesn't 
need approval during stage1.

jeff
H.J. Lu July 20, 2021, 9:19 p.m. UTC | #2
On Tue, Jul 20, 2021 at 1:58 PM Jeff Law <jeffreyalaw@gmail.com> wrote:
>
>
>
> On 7/20/2021 2:55 PM, H.J. Lu via Gcc-patches wrote:
> > 1. Sync with upstream commit 7704fedfff6ef5676adb6415f3be0ac927d1a746
> > 2. Apply local patche
> > 3. Update LOCAL_PATCHES
> > 4. 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
> >
> > which 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);
> >
> > Tested on Linux/i686 and Linux/x86-64.  OK for master?
> If it's resync and reapplying local patches, then it's OK and doesn't
> need approval during stage1.
>

I am checking them in.

Thanks.