<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Confirmed -- thanks, Vitaly!<div class=""><br class=""></div><div class="">Cheers</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 10 Nov 2017, at 14:19, Vitaly Buka <<a href="mailto:vitalybuka@google.com" class="">vitalybuka@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">should be fixed by r317866</div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Nov 9, 2017 at 7:08 PM, Vitaly Buka <span dir="ltr" class=""><<a href="mailto:vitalybuka@google.com" target="_blank" class="">vitalybuka@google.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">Thanks. <div class="">Looking...</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Nov 9, 2017 at 7:06 PM, Vedant Kumar <span dir="ltr" class=""><<a href="mailto:vsk@apple.com" target="_blank" class="">vsk@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Vitaly,<br class="">
<br class="">
This breaks the ASan build on Darwin. Could you take a look?<br class="">
<br class="">
/Users/vk/src/<a href="http://llvm.org" class="">llvm.org</a>-master/<wbr class="">llvm/projects/compiler-rt/lib/<wbr class="">sanitizer_common/sanitizer_mac<wbr class="">.cc:188:40: warning: cast from 'const void *' to 'sigaction *' drops const qualifier [-Wcast-qual]<br class="">
                   (struct sigaction *)act, (struct sigaction *)oldact);<br class="">
                                       ^<br class="">
1 warning generated.<br class="">
/Users/vk/src/<a href="http://llvm.org" class="">llvm.org</a>-master/<wbr class="">llvm/projects/compiler-rt/lib/<wbr class="">sanitizer_common/sanitizer_mac<wbr class="">.cc:188:40: warning: cast from 'const void *' to 'sigaction *' drops const qualifier [-Wcast-qual]<br class="">
                   (struct sigaction *)act, (struct sigaction *)oldact);<br class="">
                                       ^<br class="">
1 warning generated.<br class="">
/Users/vk/src/<a href="http://llvm.org" class="">llvm.org</a>-master/<wbr class="">llvm/projects/compiler-rt/lib/<wbr class="">sanitizer_common/sanitizer_mac<wbr class="">.cc:188:40: warning: cast from 'const void *' to 'sigaction *' drops const qualifier [-Wcast-qual]<br class="">
                   (struct sigaction *)act, (struct sigaction *)oldact);<br class="">
                                       ^<br class="">
1 warning generated.<br class="">
[62/98] Building CXX object projects/compiler-rt/lib/ubsan<wbr class="">/CMakeFiles/RTUbsan.osx.dir/<wbr class="">ubsan_type_hash.cc.o<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
[63/98] Building CXX object projects/compiler-rt/lib/ubsan<wbr class="">/CMakeFiles/RTUbsan.osx.dir/<wbr class="">ubsan_type_hash_win.cc.o<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
[64/98] Building CXX object projects/compiler-rt/lib/ub...<wbr class="">CMakeFiles/RTUbsan.osx.dir/ubs<wbr class="">an_type_hash_itanium.cc.o<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
[65/98] Building CXX object projects/compiler-rt/lib/ubsan<wbr class="">/CMakeFiles/RTUbsan.osx.dir/<wbr class="">ubsan_handlers_cxx.cc.o<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
[66/98] Building CXX object projects/compiler-rt/lib/ubsan<wbr class="">/CMakeFiles/RTUbsan.osx.dir/<wbr class="">ubsan_diag.cc.o<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
[67/98] Building CXX object projects/compiler-rt/lib/asan/<wbr class="">CMakeFiles/RTAsan_dynamic.osx.<wbr class="">dir/asan_fuchsia.cc.o<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
[68/98] Building CXX object projects/compiler-rt/lib/as...<wbr class="">/CMakeFiles/RTAsan_dynamic.osx<wbr class="">.dir/asan_activation.cc.o<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
[69/98] Building CXX object projects/compiler-rt/lib/ubsan<wbr class="">/CMakeFiles/RTUbsan.osx.dir/<wbr class="">ubsan_handlers.cc.o<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
[70/98] Building CXX object projects/compiler-rt/lib/asan/<wbr class="">CMakeFiles/RTAsan_dynamic.osx.<wbr class="">dir/asan_errors.cc.o<br class="">
FAILED: projects/compiler-rt/lib/asan/<wbr class="">CMakeFiles/RTAsan_dynamic.osx.<wbr class="">dir/asan_errors.cc.o<br class="">
/Applications/Xcode.app/Conten<wbr class="">ts/Developer/Toolchains/XcodeD<wbr class="">efault.xctoolchain/usr/bin/c++<wbr class="">   -DASAN_DYNAMIC=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Iprojects/compiler-rt/lib/asa<wbr class="">n -I/Users/vk/src/<br class="">
<a href="http://llvm.org" class="">llvm.org</a>-master/llvm/projects/<wbr class="">compiler-rt/lib/asan -I/usr/include/libxml2 -Iinclude -I/Users/vk/src/<a href="http://llvm.org" class="">llvm.org</a>-maste<wbr class="">r/llvm/include -I/Users/vk/src/<a href="http://llvm.org" class="">llvm.org</a>-maste<wbr class="">r/llvm/projects/compiler-rt/<wbr class="">lib/asan/.. -fPIC -fvisibility-inlines-hi<br class="">
dden -Werror=date-time -Werror=unguarded-availability<wbr class="">-new -std=c++11 -fmodules -fmodules-cache-path=/Volumes/<wbr class="">Builds/<a href="http://llvm.org" class="">llvm.org</a>-master-R/modul<wbr class="">e.cache -fcxx-modules -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissin<br class="">
g-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fcolor-diagnostics -Wall -std=c++11 -Wno-unused-parameter -O3 -DNDEBUG -arch i386 -arch x86<br class="">
_64 -arch x86_64h     -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability<wbr class="">-new -std=c++11 -fmodules -fmodules-cache-path=/Volumes/<wbr class="">Builds/<a href="http://llvm.org" class="">llvm.org</a>-master-R/modul<wbr class="">e.cache -fcxx-modules -Wall -W -Wno-un<br class="">
used-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fcolor-diagnostics -Wall -std=c++11 -Wno<br class="">
-unused-parameter -stdlib=libc++ -mmacosx-version-min=10.9 -isysroot /Applications/Xcode.app/Conten<wbr class="">ts/Developer/Platforms/MacOSX.<wbr class="">platform/Developer/SDKs/<wbr class="">MacOSX10.13.Internal.sdk -fPIC -fno-builtin -fno-exceptions -funwind-tables<br class="">
 -fno-stack-protector -fno-sanitize=safe-stack -fvisibility=hidden -fvisibility-inlines-hidden -fno-lto -O3 -gline-tables-only -fno-modules -Wno-gnu -Wno-variadic-macros -Wno-c99-extensions -Wno-non-virtual-dtor -fno-rtti -ftls-<br class="">
model=initial-exec -MD -MT projects/compiler-rt/lib/asan/<wbr class="">CMakeFiles/RTAsan_dynamic.osx.<wbr class="">dir/asan_errors.cc.o -MF projects/compiler-rt/lib/asan/<wbr class="">CMakeFiles/RTAsan_dynamic.osx.<wbr class="">dir/asan_errors.cc.o.d -o projects/compiler-rt/lib/asan/<br class="">
CMakeFiles/RTAsan_dynamic.osx.<wbr class="">dir/asan_errors.cc.o -c /Users/vk/src/<a href="http://llvm.org" class="">llvm.org</a>-master/<wbr class="">llvm/projects/compiler-rt/lib/<wbr class="">asan/asan_errors.cc<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
clang: warning: argument unused during compilation: '-fcxx-modules' [-Wunused-command-line-argumen<wbr class="">t]<br class="">
In file included from /Users/vk/src/<a href="http://llvm.org" class="">llvm.org</a>-master/<wbr class="">llvm/projects/compiler-rt/lib/<wbr class="">asan/asan_errors.cc:16:<br class="">
/Applications/Xcode.app/Conten<wbr class="">ts/Developer/Platforms/MacOSX.<wbr class="">platform/Developer/SDKs/<wbr class="">MacOSX10.13.Internal.sdk/usr/<wbr class="">include/signal.h:84:5: error: conflicting types for 'sigaction'<br class="">
int     sigaction(int, const struct sigaction * __restrict,<br class="">
        ^<br class="">
/Users/vk/src/<a href="http://llvm.org" class="">llvm.org</a>-master/<wbr class="">llvm/projects/compiler-rt/lib/<wbr class="">asan/asan_interceptors.h:113:1<wbr class="">9: note: previous declaration is here<br class="">
DECLARE_REAL(int, sigaction, int signum,<br class="">
                  ^<br class="">
1 error generated.<br class="">
<br class="">
thanks,<br class="">
vedant<br class="">
<div class="m_-8802587252400100690HOEnZb"><div class="m_-8802587252400100690h5"><br class="">
> On Nov 9, 2017, at 2:48 PM, Vitaly Buka via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank" class="">llvm-commits@lists.llvm.org</a>> wrote:<br class="">
><br class="">
> Author: vitalybuka<br class="">
> Date: Thu Nov  9 14:48:54 2017<br class="">
> New Revision: 317843<br class="">
><br class="">
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=317843&view=rev" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-pr<wbr class="">oject?rev=317843&view=rev</a><br class="">
> Log:<br class="">
> [sanitizer] Allow sanitizers to redefine implementation of signal interceptors<br class="">
><br class="">
> Reviewers: eugenis<br class="">
><br class="">
> Subscribers: llvm-commits, kubamracek<br class="">
><br class="">
> Differential Revision: <a href="https://reviews.llvm.org/D39870" rel="noreferrer" target="_blank" class="">https://reviews.llvm.org/D3987<wbr class="">0</a><br class="">
><br class="">
> Modified:<br class="">
>    compiler-rt/trunk/lib/asan/asa<wbr class="">n_interceptors.h<br class="">
>    compiler-rt/trunk/lib/sanitize<wbr class="">r_common/sanitizer_signal_<wbr class="">interceptors.inc<br class="">
><br class="">
> Modified: compiler-rt/trunk/lib/asan/asa<wbr class="">n_interceptors.h<br class="">
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_interceptors.h?rev=317843&r1=317842&r2=317843&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-pr<wbr class="">oject/compiler-rt/trunk/lib/as<wbr class="">an/asan_interceptors.h?rev=317<wbr class="">843&r1=317842&r2=317843&view=<wbr class="">diff</a><br class="">
> ==============================<wbr class="">==============================<wbr class="">==================<br class="">
> --- compiler-rt/trunk/lib/asan/asa<wbr class="">n_interceptors.h (original)<br class="">
> +++ compiler-rt/trunk/lib/asan/asa<wbr class="">n_interceptors.h Thu Nov  9 14:48:54 2017<br class="">
> @@ -19,6 +19,10 @@<br class="">
> #include "interception/interception.h"<br class="">
> #include "sanitizer_common/sanitizer_pl<wbr class="">atform_interceptors.h"<br class="">
><br class="">
> +namespace __sanitizer {<br class="">
> +struct __sanitizer_sigaction;<br class="">
> +}<br class="">
> +<br class="">
> namespace __asan {<br class="">
><br class="">
> void InitializeAsanInterceptors();<br class="">
> @@ -106,8 +110,9 @@ DECLARE_REAL(char*, strncpy, char *to, c<br class="">
> DECLARE_REAL(uptr, strnlen, const char *s, uptr maxlen)<br class="">
> DECLARE_REAL(char*, strstr, const char *s1, const char *s2)<br class="">
> struct sigaction;<br class="">
> -DECLARE_REAL(int, sigaction, int signum, const struct sigaction *act,<br class="">
> -                             struct sigaction *oldact)<br class="">
> +DECLARE_REAL(int, sigaction, int signum,<br class="">
> +             const __sanitizer::__sanitizer_sigac<wbr class="">tion *act,<br class="">
> +             __sanitizer::__sanitizer_siga<wbr class="">ction *oldact)<br class="">
><br class="">
> #if !SANITIZER_MAC<br class="">
> #define ASAN_INTERCEPT_FUNC(name)                                        \<br class="">
><br class="">
> Modified: compiler-rt/trunk/lib/sanitize<wbr class="">r_common/sanitizer_signal_<wbr class="">interceptors.inc<br class="">
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_signal_interceptors.inc?rev=317843&r1=317842&r2=317843&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-pr<wbr class="">oject/compiler-rt/trunk/lib/sa<wbr class="">nitizer_common/sanitizer_signa<wbr class="">l_interceptors.inc?rev=317843&<wbr class="">r1=317842&r2=317843&view=diff</a><br class="">
> ==============================<wbr class="">==============================<wbr class="">==================<br class="">
> --- compiler-rt/trunk/lib/sanitize<wbr class="">r_common/sanitizer_signal_<wbr class="">interceptors.inc (original)<br class="">
> +++ compiler-rt/trunk/lib/sanitize<wbr class="">r_common/sanitizer_signal_<wbr class="">interceptors.inc Thu Nov  9 14:48:54 2017<br class="">
> @@ -18,10 +18,24 @@<br class="">
><br class="">
> using namespace __sanitizer;<br class="">
><br class="">
> +namespace __sanitizer {<br class="">
> +struct __sanitizer_sigaction;<br class="">
> +}<br class="">
> +<br class="">
> +#ifndef SIGNAL_INTERCEPTOR_SIGNAL_IMPL<br class="">
> +#define SIGNAL_INTERCEPTOR_SIGNAL_IMPL<wbr class="">(func, signum, handler) \<br class="">
> +  { return REAL(func)(signum, handler); }<br class="">
> +#endif<br class="">
> +<br class="">
> +#ifndef SIGNAL_INTERCEPTOR_SIGACTION_I<wbr class="">MPL<br class="">
> +#define SIGNAL_INTERCEPTOR_SIGACTION_I<wbr class="">MPL(signum, act, oldact) \<br class="">
> +  { return REAL(sigaction)(signum, act, oldact); }<br class="">
> +#endif<br class="">
> +<br class="">
> #if SANITIZER_INTERCEPT_BSD_SIGNAL<br class="">
> -INTERCEPTOR(void *, bsd_signal, int signum, void *handler) {<br class="">
> +INTERCEPTOR(void *, bsd_signal, int signum, uptr handler) {<br class="">
>   if (GetHandleSignalMode(signum) == kHandleSignalExclusive) return 0;<br class="">
> -  return REAL(bsd_signal)(signum, handler);<br class="">
> +  SIGNAL_INTERCEPTOR_SIGNAL_IMPL<wbr class="">(bsd_signal, signum, handler);<br class="">
> }<br class="">
> #define INIT_BSD_SIGNAL COMMON_INTERCEPT_FUNCTION(bsd_<wbr class="">signal)<br class="">
> #else  // SANITIZER_INTERCEPT_BSD_SIGNAL<br class="">
> @@ -29,23 +43,23 @@ INTERCEPTOR(void *, bsd_signal, int sign<br class="">
> #endif  // SANITIZER_INTERCEPT_BSD_SIGNAL<br class="">
><br class="">
> #if SANITIZER_INTERCEPT_SIGNAL_AND<wbr class="">_SIGACTION<br class="">
> -INTERCEPTOR(void *, signal, int signum, void *handler) {<br class="">
> +INTERCEPTOR(void *, signal, int signum, uptr handler) {<br class="">
>   if (GetHandleSignalMode(signum) == kHandleSignalExclusive) return nullptr;<br class="">
> -  return REAL(signal)(signum, handler);<br class="">
> +  SIGNAL_INTERCEPTOR_SIGNAL_IMPL<wbr class="">(signal, signum, handler);<br class="">
> }<br class="">
> #define INIT_SIGNAL COMMON_INTERCEPT_FUNCTION(sign<wbr class="">al)<br class="">
><br class="">
> -INTERCEPTOR(int, sigaction, int signum, const struct sigaction *act,<br class="">
> -            struct sigaction *oldact) {<br class="">
> +INTERCEPTOR(int, sigaction, int signum, const __sanitizer_sigaction *act,<br class="">
> +            __sanitizer_sigaction *oldact) {<br class="">
>   if (GetHandleSignalMode(signum) == kHandleSignalExclusive) return 0;<br class="">
> -  return REAL(sigaction)(signum, act, oldact);<br class="">
> +  SIGNAL_INTERCEPTOR_SIGACTION_I<wbr class="">MPL(signum, act, oldact);<br class="">
> }<br class="">
> #define INIT_SIGACTION COMMON_INTERCEPT_FUNCTION(siga<wbr class="">ction)<br class="">
><br class="">
> namespace __sanitizer {<br class="">
> int real_sigaction(int signum, const void *act, void *oldact) {<br class="">
> -  return REAL(sigaction)(signum, (const struct sigaction *)act,<br class="">
> -                         (struct sigaction *)oldact);<br class="">
> +  return REAL(sigaction)(signum, (const __sanitizer_sigaction *)act,<br class="">
> +                         (__sanitizer_sigaction *)oldact);<br class="">
> }<br class="">
> }  // namespace __sanitizer<br class="">
> #else  // SANITIZER_INTERCEPT_SIGNAL_AND<wbr class="">_SIGACTION<br class="">
><br class="">
><br class="">
> ______________________________<wbr class="">_________________<br class="">
> llvm-commits mailing list<br class="">
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank" class="">llvm-commits@lists.llvm.org</a><br class="">
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/llvm-commits</a><br class="">
<br class="">
</div></div></blockquote></div><br class=""></div>
</div></div></blockquote></div><br class=""></div>
</div></blockquote></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">-- Dean</div></div>

</div>
<br class=""></div></body></html>