[compiler-rt] 53558ed - sanitizer_common: fix SIG_DFL warning

Dmitry Vyukov via llvm-commits llvm-commits at lists.llvm.org
Tue May 11 22:23:25 PDT 2021


Author: Dmitry Vyukov
Date: 2021-05-12T07:23:20+02:00
New Revision: 53558ed8a0abaf2f457cfa3d98c85d0fa1e84b22

URL: https://github.com/llvm/llvm-project/commit/53558ed8a0abaf2f457cfa3d98c85d0fa1e84b22
DIFF: https://github.com/llvm/llvm-project/commit/53558ed8a0abaf2f457cfa3d98c85d0fa1e84b22.diff

LOG: sanitizer_common: fix SIG_DFL warning

Currently we have:

sanitizer_posix_libcdep.cpp:146:27: warning: cast between incompatible
  function types from ‘__sighandler_t’ {aka ‘void (*)(int)’} to ‘sa_sigaction_t’
  146 |     sigact.sa_sigaction = (sa_sigaction_t)SIG_DFL;

We don't set SA_SIGINFO, so we need to assign to sa_handler.
And SIG_DFL is meant for sa_handler, so this gets rid of both
compiler warning, type cast and potential runtime misbehavior.

Reviewed By: vitalybuka

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

Added: 
    

Modified: 
    compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp

Removed: 
    


################################################################################
diff  --git a/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
index 7ff48c35851eb..d1d8e509c4dba 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
@@ -143,7 +143,7 @@ void Abort() {
   if (GetHandleSignalMode(SIGABRT) != kHandleSignalNo) {
     struct sigaction sigact;
     internal_memset(&sigact, 0, sizeof(sigact));
-    sigact.sa_sigaction = (sa_sigaction_t)SIG_DFL;
+    sigact.sa_handler = SIG_DFL;
     internal_sigaction(SIGABRT, &sigact, nullptr);
   }
 #endif


        


More information about the llvm-commits mailing list