<div dir="ltr">Looks like the commit message is pretty irrelevant to the actual submitted patch...</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jul 25, 2014 at 5:45 AM, Viktor Kutuzov <span dir="ltr"><<a href="mailto:vkutuzov@accesssoftek.com" target="_blank">vkutuzov@accesssoftek.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: vkutuzov<br>
Date: Fri Jul 25 07:45:36 2014<br>
New Revision: 213941<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=213941&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=213941&view=rev</a><br>
Log:<br>
Allow initialization of Asan interceptors before the general Asan initialization takes place on FreeBSD<br>
Differential Revision: <a href="http://reviews.llvm.org/D4496" target="_blank">http://reviews.llvm.org/D4496</a><br>
<br>
Modified:<br>
    compiler-rt/trunk/lib/asan/asan_interceptors.cc<br>
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc<br>
<br>
Modified: compiler-rt/trunk/lib/asan/asan_interceptors.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_interceptors.cc?rev=213941&r1=213940&r2=213941&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_interceptors.cc?rev=213941&r1=213940&r2=213941&view=diff</a><br>

==============================================================================<br>
--- compiler-rt/trunk/lib/asan/asan_interceptors.cc (original)<br>
+++ compiler-rt/trunk/lib/asan/asan_interceptors.cc Fri Jul 25 07:45:36 2014<br>
@@ -148,6 +148,7 @@ DECLARE_REAL_AND_INTERCEPTOR(void, free,<br>
 #define COMMON_INTERCEPTOR_ON_EXIT(ctx) OnExit()<br>
 #define COMMON_INTERCEPTOR_LIBRARY_LOADED(filename, res) CovUpdateMapping()<br>
 #define COMMON_INTERCEPTOR_LIBRARY_UNLOADED() CovUpdateMapping()<br>
+#define COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED (!asan_inited)<br>
 #include "sanitizer_common/sanitizer_common_interceptors.inc"<br>
<br>
 #define COMMON_SYSCALL_PRE_READ_RANGE(p, s) ASAN_READ_RANGE(p, s)<br>
<br>
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc?rev=213941&r1=213940&r2=213941&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc?rev=213941&r1=213940&r2=213941&view=diff</a><br>

==============================================================================<br>
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc (original)<br>
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc Fri Jul 25 07:45:36 2014<br>
@@ -27,6 +27,7 @@<br>
 //   COMMON_INTERCEPTOR_MUTEX_REPAIR<br>
 //   COMMON_INTERCEPTOR_SET_PTHREAD_NAME<br>
 //   COMMON_INTERCEPTOR_HANDLE_RECVMSG<br>
+//   COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED<br>
 //===----------------------------------------------------------------------===//<br>
 #include "interception/interception.h"<br>
 #include "sanitizer_addrhashmap.h"<br>
@@ -89,6 +90,10 @@<br>
   COMMON_INTERCEPTOR_ENTER(ctx, __VA_ARGS__)<br>
 #endif<br>
<br>
+#ifndef COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED<br>
+#define COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED (0)<br>
+#endif<br>
+<br>
 struct FileMetadata {<br>
   // For open_memstream().<br>
   char **addr;<br>
@@ -174,6 +179,8 @@ INTERCEPTOR(int, strcmp, const char *s1,<br>
 }<br>
<br>
 INTERCEPTOR(int, strncmp, const char *s1, const char *s2, uptr size) {<br>
+  if (COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED)<br>
+    return internal_strncmp(s1, s2, size);<br>
   void *ctx;<br>
   COMMON_INTERCEPTOR_ENTER(ctx, strncmp, s1, s2, size);<br>
   unsigned char c1 = 0, c2 = 0;<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>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Alexey Samsonov<br><a href="mailto:vonosmas@gmail.com" target="_blank">vonosmas@gmail.com</a></div>
</div>