From: Dmitry Vyukov Date: Mon, 10 May 2021 11:43:20 +0000 (+0200) Subject: sanitizer_common: fix SIG_DFL warning X-Git-Tag: llvmorg-14-init~6964 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=53558ed8a0abaf2f457cfa3d98c85d0fa1e84b22;p=platform%2Fupstream%2Fllvm.git 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 --- diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp index 7ff48c3..d1d8e50 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