From patchwork Fri Oct 1 15:36:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1535375 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha256 header.s=default header.b=md+4fsd6; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4HLZ7N75WJz9sPf for ; Sat, 2 Oct 2021 01:40:15 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BCBA13857827 for ; Fri, 1 Oct 2021 15:40:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BCBA13857827 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1633102813; bh=aAil4hdQn3QLJj+U8MdXnLx9vSStAw/cZcbz2gJaFTs=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=md+4fsd6O5fEwRsuYIU+/m4iRTQN1kzviCsme8KaQmy6TR73nQPeRyjeakKcoqDp4 Ia9G8+9Ox7EGYL1kWDpuRmM4OArGNS4uUd1qKY+/SsS8VF1R2ALNxB5HHQrw4Xa7W1 JjkNGFUbeOcqntyh/DvJ4aCpegTtWg15ZIkCLYZE= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com [IPv6:2607:f8b0:4864:20::1031]) by sourceware.org (Postfix) with ESMTPS id C26AC385782A for ; Fri, 1 Oct 2021 15:36:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C26AC385782A Received: by mail-pj1-x1031.google.com with SMTP id qe4-20020a17090b4f8400b0019f663cfcd1so3145732pjb.1 for ; Fri, 01 Oct 2021 08:36:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=aAil4hdQn3QLJj+U8MdXnLx9vSStAw/cZcbz2gJaFTs=; b=pkDYSgUWG/I0WwZ3rhvgtJty+7grXjA102ilHbWXWqHoGxYhQFONfOfB9PsYJ73h1i zb6EM1lsnrpApgiJzLJTaOrN+hVVz3guB2tfTUP6BKtA03tOvapxDuEbanIuMin+oxTV vW2R8PlNhSdk9sP8V8GTKe7awSZIA5BieHhTri5FywB7PDxlaJm/Ux8CjyoYFVHyKNlN Q3teZXxnvD3ryJwHF/HNurhG28unMl4E56gAXJ4w0r3FMusSUbkYm6GZEF/Aqnh3g4I3 NUkd20hUaLv6spd5mVpfz0rhl1fmgP2g2XpPY0RYv+DGuFm7hLvKkAZNk2a1XX+Yzs0k f+2A== X-Gm-Message-State: AOAM533/5nxUXQ3YPsR6wyW3pl4vzkGNxC/NRrP+xYZwwJqDkexP2B7+ pHnSNuwdxf65RnZyJ7jxjBna4ObsaKE= X-Google-Smtp-Source: ABdhPJxzKZp/hFEQHwGZSde9LR5hK8qHrLlF5sebN86ur1xbHQ7fqPODc6FAxNKyuNH+OGjd8yg9Jg== X-Received: by 2002:a17:90b:1e02:: with SMTP id pg2mr20708714pjb.114.1633102577449; Fri, 01 Oct 2021 08:36:17 -0700 (PDT) Received: from gnu-cfl-2.localdomain ([172.58.39.6]) by smtp.gmail.com with ESMTPSA id s23sm266366pfh.146.2021.10.01.08.36.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Oct 2021 08:36:16 -0700 (PDT) Received: from gnu-cfl-2.. (localhost [IPv6:::1]) by gnu-cfl-2.localdomain (Postfix) with ESMTP id 3778AC0311 for ; Fri, 1 Oct 2021 08:36:15 -0700 (PDT) To: gcc-patches@gcc.gnu.org Subject: [PATCH 0/4] libsanitizer: Merge with upstream commit 1c2e5fd66ea Date: Fri, 1 Oct 2021 08:36:11 -0700 Message-Id: <20211001153615.81857-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Spam-Status: No, score=-3025.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: "H.J. Lu via Gcc-patches" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Sender: "Gcc-patches" Merge with upstream commit: commit 1c2e5fd66ea27d0c51360ba4e22099124a915562 Author: peter klausler Date: Wed Sep 15 08:28:48 2021 -0700 [flang] Enforce constraint: defined ass't in WHERE must be elemental A defined assignment subroutine invoked in the context of a WHERE statement or construct must necessarily be elemental (C1032). Differential Revision: https://reviews.llvm.org/D109932 H.J. Lu (4): libsanitizer: Merge with upstream libsanitizer: Apply local patches libsanitizer: Bump asan/tsan versions Update c-c++-common/tsan/atomic_stack.c .../c-c++-common/tsan/atomic_stack.c | 3 +- libsanitizer/MERGE | 2 +- libsanitizer/asan/asan_fuchsia.cpp | 35 +- libsanitizer/asan/asan_globals.cpp | 14 +- libsanitizer/asan/asan_interceptors.cpp | 18 +- libsanitizer/asan/asan_interceptors.h | 45 +- libsanitizer/asan/asan_report.cpp | 10 +- libsanitizer/asan/asan_rtl.cpp | 18 +- libsanitizer/asan/asan_stats.cpp | 10 +- libsanitizer/asan/asan_thread.cpp | 4 +- libsanitizer/asan/libtool-version | 2 +- libsanitizer/hwasan/Makefile.am | 3 +- libsanitizer/hwasan/Makefile.in | 12 +- libsanitizer/hwasan/hwasan.cpp | 3 +- libsanitizer/hwasan/hwasan.h | 25 +- .../hwasan/hwasan_allocation_functions.cpp | 24 + libsanitizer/hwasan/hwasan_allocator.cpp | 58 +- libsanitizer/hwasan/hwasan_dynamic_shadow.cpp | 9 + libsanitizer/hwasan/hwasan_fuchsia.cpp | 23 + libsanitizer/hwasan/hwasan_interceptors.cpp | 70 +- .../hwasan/hwasan_interface_internal.h | 48 - libsanitizer/hwasan/hwasan_linux.cpp | 147 +- libsanitizer/hwasan/hwasan_report.cpp | 82 +- ...wasan_setjmp.S => hwasan_setjmp_aarch64.S} | 21 +- libsanitizer/hwasan/hwasan_setjmp_x86_64.S | 80 + libsanitizer/hwasan/hwasan_thread.cpp | 2 +- libsanitizer/hwasan/hwasan_type_test.cpp | 2 +- .../include/sanitizer/asan_interface.h | 2 +- .../include/sanitizer/common_interface_defs.h | 2 +- .../include/sanitizer/dfsan_interface.h | 3 +- .../include/sanitizer/linux_syscall_hooks.h | 2120 +++++++++-------- .../include/sanitizer/tsan_interface.h | 3 + .../interception/interception_win.cpp | 48 +- libsanitizer/lsan/lsan_allocator.h | 2 +- libsanitizer/lsan/lsan_common.cpp | 12 +- .../sanitizer_common/sancov_flags.inc | 2 +- .../sanitizer_common/sanitizer_addrhashmap.h | 2 +- .../sanitizer_allocator_primary64.h | 14 +- .../sanitizer_allocator_size_class_map.h | 8 +- libsanitizer/sanitizer_common/sanitizer_asm.h | 4 +- .../sanitizer_atomic_clang_mips.h | 2 +- .../sanitizer_common/sanitizer_common.h | 20 +- .../sanitizer_common_interceptors.inc | 652 ++--- .../sanitizer_common_interceptors_format.inc | 10 +- ...izer_common_interceptors_netbsd_compat.inc | 4 +- .../sanitizer_common_nolibc.cpp | 1 + .../sanitizer_common_syscalls.inc | 1559 +++++++----- .../sanitizer_coverage_fuchsia.cpp | 8 +- .../sanitizer_coverage_libcdep_new.cpp | 65 +- .../sanitizer_common/sanitizer_file.cpp | 15 + .../sanitizer_common/sanitizer_file.h | 2 + .../sanitizer_common/sanitizer_flag_parser.h | 2 +- .../sanitizer_common/sanitizer_flags.inc | 4 + .../sanitizer_common/sanitizer_fuchsia.cpp | 41 - .../sanitizer_interceptors_ioctl_netbsd.inc | 2 +- .../sanitizer_interface_internal.h | 7 +- .../sanitizer_internal_defs.h | 46 +- .../sanitizer_common/sanitizer_libc.cpp | 12 + .../sanitizer_common/sanitizer_libc.h | 5 +- .../sanitizer_common/sanitizer_libignore.cpp | 33 +- .../sanitizer_common/sanitizer_libignore.h | 37 +- .../sanitizer_common/sanitizer_linux.cpp | 83 +- .../sanitizer_local_address_space_view.h | 2 +- .../sanitizer_common/sanitizer_mac.cpp | 29 +- .../sanitizer_common/sanitizer_mutex.cpp | 186 ++ .../sanitizer_common/sanitizer_mutex.h | 325 +-- .../sanitizer_common/sanitizer_platform.h | 25 +- .../sanitizer_platform_interceptors.h | 27 +- .../sanitizer_platform_limits_freebsd.cpp | 4 + .../sanitizer_platform_limits_freebsd.h | 164 +- .../sanitizer_platform_limits_linux.cpp | 56 +- .../sanitizer_platform_limits_netbsd.cpp | 1 + .../sanitizer_platform_limits_netbsd.h | 1 + .../sanitizer_platform_limits_posix.cpp | 25 +- .../sanitizer_platform_limits_posix.h | 30 +- .../sanitizer_platform_limits_solaris.cpp | 1 + .../sanitizer_platform_limits_solaris.h | 1 + .../sanitizer_common/sanitizer_posix.h | 7 +- .../sanitizer_posix_libcdep.cpp | 2 + .../sanitizer_common/sanitizer_printf.cpp | 37 +- .../sanitizer_signal_interceptors.inc | 12 +- .../sanitizer_common/sanitizer_solaris.cpp | 22 - .../sanitizer_common/sanitizer_stacktrace.cpp | 5 +- .../sanitizer_stacktrace_libcdep.cpp | 2 +- .../sanitizer_stacktrace_printer.cpp | 11 +- .../sanitizer_stacktrace_sparc.cpp | 2 +- .../sanitizer_stoptheworld_linux_libcdep.cpp | 2 +- .../sanitizer_stoptheworld_netbsd_libcdep.cpp | 2 +- .../sanitizer_common/sanitizer_symbolizer.h | 6 +- .../sanitizer_symbolizer_internal.h | 2 +- .../sanitizer_symbolizer_libcdep.cpp | 12 +- .../sanitizer_syscall_linux_hexagon.inc | 131 + .../sanitizer_thread_registry.cpp | 22 +- .../sanitizer_thread_registry.h | 2 +- .../sanitizer_tls_get_addr.cpp | 19 +- .../sanitizer_common/sanitizer_win.cpp | 24 +- libsanitizer/tsan/Makefile.am | 4 +- libsanitizer/tsan/Makefile.in | 13 +- libsanitizer/tsan/libtool-version | 2 +- libsanitizer/tsan/tsan_clock.cpp | 10 +- libsanitizer/tsan/tsan_clock.h | 2 +- libsanitizer/tsan/tsan_debugging.cpp | 10 +- libsanitizer/tsan/tsan_defs.h | 66 +- libsanitizer/tsan/tsan_dense_alloc.h | 35 +- libsanitizer/tsan/tsan_external.cpp | 19 +- libsanitizer/tsan/tsan_fd.cpp | 24 +- libsanitizer/tsan/tsan_fd.h | 2 +- libsanitizer/tsan/tsan_flags.cpp | 1 + libsanitizer/tsan/tsan_flags.inc | 1 - libsanitizer/tsan/tsan_ignoreset.cpp | 12 +- libsanitizer/tsan/tsan_ignoreset.h | 13 +- libsanitizer/tsan/tsan_ilist.h | 189 ++ libsanitizer/tsan/tsan_interceptors.h | 35 +- libsanitizer/tsan/tsan_interceptors_mac.cpp | 6 +- libsanitizer/tsan/tsan_interceptors_posix.cpp | 417 ++-- libsanitizer/tsan/tsan_interface.cpp | 96 +- libsanitizer/tsan/tsan_interface.h | 10 +- libsanitizer/tsan/tsan_interface.inc | 182 ++ libsanitizer/tsan/tsan_interface_ann.cpp | 172 +- libsanitizer/tsan/tsan_interface_atomic.cpp | 323 ++- libsanitizer/tsan/tsan_interface_inl.h | 133 -- libsanitizer/tsan/tsan_interface_java.cpp | 291 ++- libsanitizer/tsan/tsan_mman.cpp | 10 +- libsanitizer/tsan/tsan_mman.h | 49 +- libsanitizer/tsan/tsan_mutex.cpp | 280 --- libsanitizer/tsan/tsan_mutex.h | 87 - libsanitizer/tsan/tsan_mutexset.cpp | 47 +- libsanitizer/tsan/tsan_mutexset.h | 29 +- libsanitizer/tsan/tsan_platform.h | 1089 ++++----- libsanitizer/tsan/tsan_platform_linux.cpp | 109 +- libsanitizer/tsan/tsan_platform_mac.cpp | 22 +- libsanitizer/tsan/tsan_platform_posix.cpp | 37 +- libsanitizer/tsan/tsan_platform_windows.cpp | 3 +- libsanitizer/tsan/tsan_report.cpp | 77 +- libsanitizer/tsan/tsan_report.h | 36 +- libsanitizer/tsan/tsan_rtl.cpp | 477 ++-- libsanitizer/tsan/tsan_rtl.h | 499 ++-- libsanitizer/tsan/tsan_rtl_mutex.cpp | 419 ++-- libsanitizer/tsan/tsan_rtl_report.cpp | 328 ++- libsanitizer/tsan/tsan_rtl_thread.cpp | 306 ++- libsanitizer/tsan/tsan_shadow.h | 233 ++ libsanitizer/tsan/tsan_stack_trace.cpp | 12 +- libsanitizer/tsan/tsan_symbolize.cpp | 3 +- libsanitizer/tsan/tsan_sync.cpp | 58 +- libsanitizer/tsan/tsan_sync.h | 36 +- libsanitizer/tsan/tsan_trace.h | 153 +- ...word_inl.h => tsan_update_shadow_word.inc} | 2 +- libsanitizer/tsan/tsan_vector_clock.cpp | 126 + libsanitizer/tsan/tsan_vector_clock.h | 51 + libsanitizer/ubsan/ubsan_diag.cpp | 8 +- 150 files changed, 7427 insertions(+), 6028 deletions(-) rename libsanitizer/hwasan/{hwasan_setjmp.S => hwasan_setjmp_aarch64.S} (87%) create mode 100644 libsanitizer/hwasan/hwasan_setjmp_x86_64.S create mode 100644 libsanitizer/sanitizer_common/sanitizer_syscall_linux_hexagon.inc create mode 100644 libsanitizer/tsan/tsan_ilist.h create mode 100644 libsanitizer/tsan/tsan_interface.inc delete mode 100644 libsanitizer/tsan/tsan_interface_inl.h delete mode 100644 libsanitizer/tsan/tsan_mutex.cpp delete mode 100644 libsanitizer/tsan/tsan_mutex.h create mode 100644 libsanitizer/tsan/tsan_shadow.h rename libsanitizer/tsan/{tsan_update_shadow_word_inl.h => tsan_update_shadow_word.inc} (96%) create mode 100644 libsanitizer/tsan/tsan_vector_clock.cpp create mode 100644 libsanitizer/tsan/tsan_vector_clock.h