[all-commits] [llvm/llvm-project] 6925f3: Reapply "[sanitizer_common] AND signals in BlockSi...

Thurston Dang via All-commits all-commits at lists.llvm.org
Tue Nov 19 00:05:11 PST 2024


  Branch: refs/heads/release/19.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 6925f3c7c7d8b83e2195cb8e473eccdecae42607
      https://github.com/llvm/llvm-project/commit/6925f3c7c7d8b83e2195cb8e473eccdecae42607
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-11-18 (Mon, 18 Nov 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
    A compiler-rt/lib/sanitizer_common/tests/sanitizer_block_signals.cpp

  Log Message:
  -----------
  Reapply "[sanitizer_common] AND signals in BlockSignals instead of deleting (#113443)" for non-Android Linux only (#115790)

The original patch (25fd366d6a7d40266ff27c134ed8beb0a90cc33b) was
reverted in 083a5cdbeab09517d8345868970d4f41170d7ed2 because it broke
some buildbots.

This revised patch makes two changes:
- Reverts to *pre-#98200* behavior for Android. This avoids a build
breakage on Android.
- Only define KeepUnblocked if SANITIZER_LINUX: this avoids a build
breakage on solaris, which does not support internal_sigdelset.
N.B. Other buildbot failures were non-sanitizer tests and are therefore
unrelated.

Original commit message:
    My earlier patch https://github.com/llvm/llvm-project/pull/98200
    caused a regression because it unconditionally unblocked synchronous
    signals, even if the user program had deliberately blocked them.
    This patch fixes the issue by checking the current signal mask, as
    suggested by Vitaly. It also adds tests.
    Fixes #113385

(cherry picked from commit 531acf9e2f24977d2556b39229b22f4518a1faa5)



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list