<div dir="ltr">Ah, right...<div>Feel free to revert this change. I have plans to deal with different UBSan initialization issues soon, and will see if I would be able to reinstantiate this warning on all platforms.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 10, 2015 at 6:10 PM, Justin Bogner <span dir="ltr"><<a href="mailto:mail@justinbogner.com" target="_blank">mail@justinbogner.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Yury Gribov <<a href="mailto:y.gribov@samsung.com">y.gribov@samsung.com</a>> writes:<br>
> Author: ygribov<br>
> Date: Thu Feb 5 23:53:08 2015<br>
> New Revision: 228384<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=228384&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=228384&view=rev</a><br>
> Log:<br>
> [UBSan] Enable -Wglobal-constructors.<br>
<br>
</span>I don't think we can do this, since we use global constructors. This has<br>
been warning on darwin since it was committed:<br>
<br>
<a href="http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA_build/1476/warnings7Result/" target="_blank">http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA_build/1476/warnings7Result/</a><br>
<br>
Looks like it won't warn on linux, but it does on darwin and probably<br>
android. From ubsan_init.cc:<br>
<br>
#if SANITIZER_CAN_USE_PREINIT_ARRAY<br>
__attribute__((section(".preinit_array"), used))<br>
void (*__local_ubsan_preinit)(void) = __ubsan::InitIfNecessary;<br>
#else<br>
// Use a dynamic initializer.<br>
class UbsanInitializer {<br>
public:<br>
UbsanInitializer() {<br>
InitIfNecessary();<br>
}<br>
};<br>
static UbsanInitializer ubsan_initializer;<br>
#endif // SANITIZER_CAN_USE_PREINIT_ARRAY<br>
<div class="HOEnZb"><div class="h5"><br>
> Modified:<br>
> compiler-rt/trunk/lib/ubsan/CMakeLists.txt<br>
><br>
> Modified: compiler-rt/trunk/lib/ubsan/CMakeLists.txt<br>
> URL:<br>
> <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/CMakeLists.txt?rev=228384&r1=228383&r2=228384&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/CMakeLists.txt?rev=228384&r1=228383&r2=228384&view=diff</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/ubsan/CMakeLists.txt (original)<br>
> +++ compiler-rt/trunk/lib/ubsan/CMakeLists.txt Thu Feb 5 23:53:08 2015<br>
> @@ -17,7 +17,12 @@ include_directories(..)<br>
><br>
> set(UBSAN_CFLAGS ${SANITIZER_COMMON_CFLAGS})<br>
> append_no_rtti_flag(UBSAN_CFLAGS)<br>
> +append_list_if(COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG -Wglobal-constructors<br>
> + UBSAN_CFLAGS)<br>
> +<br>
> set(UBSAN_CXXFLAGS ${SANITIZER_COMMON_CFLAGS})<br>
> +append_list_if(COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG -Wglobal-constructors<br>
> + UBSAN_CXXFLAGS)<br>
><br>
> add_custom_target(ubsan)<br>
><br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Alexey Samsonov<br><a href="mailto:vonosmas@gmail.com" target="_blank">vonosmas@gmail.com</a></div></div>
</div>