<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 2, 2017 at 5:41 PM, Kostya Serebryany <span dir="ltr"><<a href="mailto:kcc@google.com" target="_blank">kcc@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Thu, Feb 2, 2017 at 4:34 PM, Marcos Pividori <span dir="ltr"><<a href="mailto:mpividori@google.com" target="_blank">mpividori@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<br>I think the problem is that in Chrome you are defining the hooks without visibility default. I mean the strong hooks, that you want to use. So, they get the hidden visibility.<br>So, the linker first sees that definition with hidden vissibility, and then it sees the weak definition added in <a href="https://github.com/llvm-mirror/compiler-rt/commit/55845b4a38ec980454781b2b37fcf4a92ebe48ce" target="_blank">link</a> with default visibility. And because of that it prints that warning.<br>Based on this: <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=368351" target="_blank">https://bugs.chromium.or<wbr>g/p/chromium/issues/detail?id=<wbr>368351</a><br>So, I think the solution is to add visibility default for the weak hooks that you define in Chrome.<div>Thanks,<br>Marcos</div></div></blockquote><div><br></div></span><div>We don't define any hooks in chrome, only in libFuzzer. </div>And yes, they don't have __attribute__((visibility("<wbr>default"))) </div><div class="gmail_quote">Mike, please try adding ATTRIBUTE_INTERFACE to the hooks in FuzzerTraceState.cpp and see if it helps. <br></div></div></div></blockquote><div><br></div><div>Mike, this helped, right? </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"></div><div><div class="h5"><div class="gmail_quote"><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="m_6715141038543568577gmail-m_9107135649063602500HOEnZb"><div class="m_6715141038543568577gmail-m_9107135649063602500h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 2, 2017 at 3:45 PM, Mike Aizatsky <span dir="ltr"><<a href="mailto:aizatsky@google.com" target="_blank">aizatsky@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Justin, Marcos,<div><br></div><div>Because of the recent changes ToT clang has stopped building fuzzers in the chrome (see below).</div><div><br></div><div>This change:</div><div><br></div><div><a href="https://github.com/llvm-mirror/compiler-rt/commit/55845b4a38ec980454781b2b37fcf4a92ebe48ce" target="_blank">https://github.com/llvm-mirror<wbr>/compiler-rt/commit/55845b4a38<wbr>ec980454781b2b37fcf4a92ebe48ce</a><br></div><div><br></div><div>is an obvious suspect, but I feel there might be an error in weak-related recent changes elsewhere.</div><div><br></div><div>Do you think this is related?</div><div><br></div><div><pre class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217inbox-inbox-issue_text" style="font-size:11.726px;white-space:pre-wrap;max-width:80em;padding:0px 0px 3px 0.7em">FAILED: ../../../../../out/llvm/bootst<wbr>rap/bin/clang++ -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -fuse-ld=gold -B../../third_party/binutils/L<wbr>inux_x64/Release/bin -Wl,--threads -Wl,--thread-count=4 -m64 -pthread -Werror -Wl,-O1 -Wl,--gc-sections --sysroot=../../build/linux/de<wbr>bian_wheezy_amd64-sysroot -L/usr/local/google/home/aizat<wbr>sky/src/chrome/src/build/linux<wbr>/debian_wheezy_amd64-sysroot/l<wbr>ib/x86_64-linux-gnu -Wl,-rpath-link=/usr/local/goo<wbr>gle/home/aizatsky/src/chrome/s<wbr>rc/build/linux/debian_wheezy_a<wbr>md64-sysroot/lib/x86_64-linux-<wbr>gnu -L/usr/local/google/home/aizat<wbr>sky/src/chrome/src/build/linux<wbr>/debian_wheezy_amd64-sysroot/u<wbr>sr/lib/x86_64-linux-gnu -Wl,-rpath-link=/usr/local/goo<wbr>gle/home/aizatsky/src/chrome/s<wbr>rc/build/linux/debian_wheezy_a<wbr>md64-sysroot/usr/lib/x86_64-li<wbr>nux-gnu -L/usr/local/google/home/aizat<wbr>sky/src/chrome/src/build/linux<wbr>/debian_wheezy_amd64-sysroot/u<wbr>sr/lib/gcc/x86_64-linux-gnu/4.<wbr>6 -Wl,-rpath-link=/usr/local/goo<wbr>gle/home/aizatsky/src/chrome/s<wbr>rc/build/linux/debian_wheezy_a<wbr>md64-sysroot/usr/lib/gcc/x86_6<wbr>4-linux-gnu/4.6 -L/usr/local/google/home/aizat<wbr>sky/src/chrome/src/build/linux<wbr>/debian_wheezy_amd64-sysroot/u<wbr>sr/lib -Wl,-rpath-link=/usr/local/goo<wbr>gle/home/aizatsky/src/chrome/s<wbr>rc/build/linux/debian_wheezy_a<wbr>md64-sysroot/usr/lib -fsanitize=address -fsanitize-address-use-after-s<wbr>cope -fsanitize=leak -fsanitize-coverage=trace-pc-g<wbr>uard -Wl,-rpath-link=. -Wl,--disable-new-dtags -Wl,-rpath=\$ORIGIN/. -Wl,-rpath-link=. -Wl,--export-dynamic -Wl,-u_sanitizer_options_link_<wbr>helper -fsanitize=address -fsanitize-address-use-after-s<wbr>cope -fsanitize=leak -fsanitize-coverage=trace-pc-g<wbr>uard -stdlib=libc++ -Wl,-rpath,\$ORIGIN/ -L. -o "./webcrypto_ec_import_key_spk<wbr>i_fuzzer" -Wl,--start-group @"./webcrypto_ec_import_key_sp<wbr>ki_fuzzer.rsp" ./libc++.so -Wl,--end-group  -ldl -lrt -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lnss3 -lnssutil3 -lsmime3 -lplds4 -lplc4 -lnspr4 -lpangocairo-1.0 -lpango-1.0 -lcairo -lfontconfig -lfreetype -lgio-2.0 -lX11 -lX11-xcb -lxcb -lXcomposite -lXcursor -lXdamage -lXext -lXfixes -lXi -lXrender -lXtst -lXrandr -lXss -lgconf-2 -lresolv -lasound -lm -lz -ldbus-1 
../../third_party/binutils/Lin<wbr>ux_x64/Release/bin/ld.gold: warning: Cannot export local symbol '__sanitizer_weak_hook_strcmp'
../../third_party/binutils/Lin<wbr>ux_x64/Release/bin/ld.gold: warning: Cannot export local symbol '__sanitizer_weak_hook_strncmp<wbr>'
../../third_party/binutils/Lin<wbr>ux_x64/Release/bin/ld.gold: warning: Cannot export local symbol '__sanitizer_weak_hook_strcase<wbr>cmp'
../../third_party/binutils/Lin<wbr>ux_x64/Release/bin/ld.gold: warning: Cannot export local symbol '__sanitizer_weak_hook_strncas<wbr>ecmp'
../../third_party/binutils/Lin<wbr>ux_x64/Release/bin/ld.gold: warning: Cannot export local symbol '__sanitizer_weak_hook_strstr'
../../third_party/binutils/Lin<wbr>ux_x64/Release/bin/ld.gold: warning: Cannot export local symbol '__sanitizer_weak_hook_strcase<wbr>str'
../../third_party/binutils/Lin<wbr>ux_x64/Release/bin/ld.gold: warning: Cannot export local symbol '__sanitizer_weak_hook_memmem'
../../third_party/binutils/Lin<wbr>ux_x64/Release/bin/ld.gold: warning: Cannot export local symbol '__sanitizer_weak_hook_memcmp'
../../third_party/binutils/Lin<wbr>ux_x64/Release/bin/ld.gold: error: treating warnings as errors</pre><div><div class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830h5"><br><div class="gmail_quote"><div dir="ltr">On Tue, Jan 31, 2017 at 7:42 PM Justin Bogner via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Author: bogner<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
Date: Tue Jan 31 21:31:09 2017<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
New Revision: 293741<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=293741&view=rev" rel="noreferrer" class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217cremed" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject?rev=293741&view=rev</a><br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
Log:<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
[sanitizer] Support SANITIZER_INTERCEPTOR_HOOKS on Darwin<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
This basically already worked other than weak symbols needing<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
definitions on darwin.<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
Added:<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
    compiler-rt/trunk/test/sanitiz<wbr>er_common/TestCases/Posix/weak<wbr>_hook_test.cc<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
      - copied, changed from r293734, compiler-rt/trunk/test/sanitiz<wbr>er_common/TestCases/Linux/weak<wbr>_hook_test.cc<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
Removed:<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
    compiler-rt/trunk/test/sanitiz<wbr>er_common/TestCases/Linux/weak<wbr>_hook_test.cc<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
Modified:<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
    compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_common_inte<wbr>rceptors.inc<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
    compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_platform_in<wbr>terceptors.h<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
Modified: compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_common_inte<wbr>rceptors.inc<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_interceptors.inc?rev=293741&r1=293740&r2=293741&view=diff" rel="noreferrer" class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217cremed" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/lib/sa<wbr>nitizer_common/sanitizer_commo<wbr>n_interceptors.inc?rev=293741&<wbr>r1=293740&r2=293741&view=diff</a><br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
==============================<wbr>==============================<wbr>==================<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
--- compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_common_inte<wbr>rceptors.inc (original)<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
+++ compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_common_inte<wbr>rceptors.inc Tue Jan 31 21:31:09 2017<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
@@ -44,15 +44,9 @@<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
 #include <stdarg.h><br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
 #if SANITIZER_INTERCEPTOR_HOOKS<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-#define CALL_WEAK_INTERCEPTOR_HOOK(f, ...)                                     \<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  do {                                                                         \<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-    if (f)                                                                     \<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-      f(__VA_ARGS__);                                                          \<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  } while (false);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-#define DECLARE_WEAK_INTERCEPTOR_HOOK(<wbr>f, ...)                                  \<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  extern "C" {                                                                 \<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE void f(__VA_ARGS__);  \<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  } // extern "C"<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
+#define CALL_WEAK_INTERCEPTOR_HOOK(f, ...) f(__VA_ARGS__);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
+#define DECLARE_WEAK_INTERCEPTOR_HOOK(<wbr>f, ...) \<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
+  SANITIZER_INTERFACE_WEAK_DEF(v<wbr>oid, f, __VA_ARGS__) {}<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
 #else<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
 #define DECLARE_WEAK_INTERCEPTOR_HOOK(<wbr>f, ...)<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
 #define CALL_WEAK_INTERCEPTOR_HOOK(f, ...)<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
Modified: compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_platform_in<wbr>terceptors.h<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_interceptors.h?rev=293741&r1=293740&r2=293741&view=diff" rel="noreferrer" class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217cremed" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/lib/sa<wbr>nitizer_common/sanitizer_platf<wbr>orm_interceptors.h?rev=293741&<wbr>r1=293740&r2=293741&view=diff</a><br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
==============================<wbr>==============================<wbr>==================<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
--- compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_platform_in<wbr>terceptors.h (original)<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
+++ compiler-rt/trunk/lib/sanitize<wbr>r_common/sanitizer_platform_in<wbr>terceptors.h Tue Jan 31 21:31:09 2017<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
@@ -302,7 +302,7 @@<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
 #define SANITIZER_INTERCEPT_CTERMID SI_LINUX || SI_MAC || SI_FREEBSD<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
 #define SANITIZER_INTERCEPT_CTERMID_R SI_MAC || SI_FREEBSD<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-#define SANITIZER_INTERCEPTOR_HOOKS SI_LINUX<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
+#define SANITIZER_INTERCEPTOR_HOOKS SI_LINUX || SI_MAC<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
 #define SANITIZER_INTERCEPT_RECV_RECVF<wbr>ROM SI_NOT_WINDOWS<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
 #define SANITIZER_INTERCEPT_SEND_SENDT<wbr>O SI_NOT_WINDOWS<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
 #define SANITIZER_INTERCEPT_EVENTFD_RE<wbr>AD_WRITE SI_LINUX<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
Removed: compiler-rt/trunk/test/sanitiz<wbr>er_common/TestCases/Linux/weak<wbr>_hook_test.cc<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/weak_hook_test.cc?rev=293740&view=auto" rel="noreferrer" class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217cremed" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/s<wbr>anitizer_common/TestCases/Linu<wbr>x/weak_hook_test.cc?rev=293740<wbr>&view=auto</a><br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
==============================<wbr>==============================<wbr>==================<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
--- compiler-rt/trunk/test/sanitiz<wbr>er_common/TestCases/Linux/weak<wbr>_hook_test.cc (original)<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
+++ compiler-rt/trunk/test/sanitiz<wbr>er_common/TestCases/Linux/weak<wbr>_hook_test.cc (removed)<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
@@ -1,82 +0,0 @@<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-// Test the weak hooks.<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-// RUN: %clangxx %s -o %t<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-// RUN: %run %t<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-// Hooks are not implemented for lsan.<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-// XFAIL: lsan<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-#include <string.h><br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-#include <assert.h><br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-bool seen_memcmp, seen_strncmp, seen_strncasecmp, seen_strcmp, seen_strcasecmp,<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-    seen_strstr, seen_strcasestr, seen_memmem;<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-extern "C" {<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-void __sanitizer_weak_hook_memcmp(v<wbr>oid *called_pc, const void *s1,<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-                                  const void *s2, size_t n, int result) {<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  seen_memcmp = true;<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-}<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-void __sanitizer_weak_hook_strncmp(<wbr>void *called_pc, const char *s1,<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-                                   const char *s2, size_t n, int result) {<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  seen_strncmp = true;<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-}<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-void __sanitizer_weak_hook_strncase<wbr>cmp(void *called_pc, const char *s1,<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-                                       const char *s2, size_t n, int result){<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  seen_strncasecmp = true;<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-}<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-void __sanitizer_weak_hook_strcmp(v<wbr>oid *called_pc, const char *s1,<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-                                  const char *s2, int result){<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  seen_strcmp = true;<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-}<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-void __sanitizer_weak_hook_strcasec<wbr>mp(void *called_pc, const char *s1,<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-                                      const char *s2, int result){<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  seen_strcasecmp = true;<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-}<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-void __sanitizer_weak_hook_strstr(v<wbr>oid *called_pc, const char *s1,<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-                                  const char *s2, char *result){<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  seen_strstr = true;<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-}<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-void __sanitizer_weak_hook_strcases<wbr>tr(void *called_pc, const char *s1,<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-                                      const char *s2, char *result){<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  seen_strcasestr = true;<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-}<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-void __sanitizer_weak_hook_memmem(v<wbr>oid *called_pc, const void *s1, size_t len1,<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-                                  const void *s2, size_t len2, void *result){<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  seen_memmem = true;<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-}<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-} // extern "C"<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-char s1[] = "ABCDEF";<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-char s2[] = "CDE";<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-static volatile int int_sink;<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-static volatile void *ptr_sink;<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-int main() {<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  assert(sizeof(s2) < sizeof(s1));<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  int_sink = memcmp(s1, s2, sizeof(s2));<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  assert(seen_memcmp);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  int_sink = strncmp(s1, s2, sizeof(s2));<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  assert(seen_strncmp);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  int_sink = strncasecmp(s1, s2, sizeof(s2));<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  assert(seen_strncasecmp);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  int_sink = strcmp(s1, s2);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  assert(seen_strcmp);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  int_sink = strcasecmp(s1, s2);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  assert(seen_strcasecmp);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  ptr_sink = strstr(s1, s2);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  assert(seen_strstr);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  ptr_sink = strcasestr(s1, s2);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  assert(seen_strcasestr);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  ptr_sink = memmem(s1, sizeof(s1), s2, sizeof(s2));<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  assert(seen_memmem);<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-  return 0;<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
-}<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
Copied: compiler-rt/trunk/test/sanitiz<wbr>er_common/TestCases/Posix/weak<wbr>_hook_test.cc (from r293734, compiler-rt/trunk/test/sanitiz<wbr>er_common/TestCases/Linux/weak<wbr>_hook_test.cc)<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/weak_hook_test.cc?p2=compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/weak_hook_test.cc&p1=compiler-rt/trunk/test/sanitizer_common/TestCases/Linux/weak_hook_test.cc&r1=293734&r2=293741&rev=293741&view=diff" rel="noreferrer" class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217cremed" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/compiler-rt/trunk/test/s<wbr>anitizer_common/TestCases/Posi<wbr>x/weak_hook_test.cc?p2=compile<wbr>r-rt/trunk/test/sanitizer_comm<wbr>on/TestCases/Posix/weak_hook_<wbr>test.cc&p1=compiler-rt/trunk/<wbr>test/sanitizer_common/TestCase<wbr>s/Linux/weak_hook_test.cc&r1=<wbr>293734&r2=293741&rev=293741&<wbr>view=diff</a><br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
==============================<wbr>==============================<wbr>==================<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
    (empty)<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
______________________________<wbr>_________________<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
llvm-commits mailing list<br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217cremed" target="_blank">llvm-commits@lists.llvm.org</a><br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217cremed" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830m_1103115767771834217gmail_msg">
</blockquote></div></div></div></div></div><span class="m_6715141038543568577gmail-m_9107135649063602500m_6519016031303659830HOEnZb"><font color="#888888"><div dir="ltr">-- <br></div><div><div dir="ltr">Mike<br>Sent from phone</div></div>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div></div>
</blockquote></div><br></div></div>