<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="">The test should finally be passing on all bots as of r273844.<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jun 24, 2016, at 11:54, Mike Aizatsky <<a href="mailto:aizatsky@google.com" class="">aizatsky@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;" class="">Here's a fresher failure:<div class=""><br class=""></div><div class=""><a href="http://lab.llvm.org:8011/builders/sanitizer-ppc64le-linux/builds/1521/steps/run%20asan-dynamic%20tests/logs/stdio" class="">http://lab.llvm.org:8011/builders/sanitizer-ppc64le-linux/builds/1521/steps/run%20asan-dynamic%20tests/logs/stdio</a><br class=""></div><div class=""><br class=""></div><div class=""><div class="">FAIL: AddressSanitizer-powerpc64le-linux-dynamic :: TestCases/Posix/global-registration.c (291 of 556)</div><div class="">******************** TEST 'AddressSanitizer-powerpc64le-linux-dynamic :: TestCases/Posix/global-registration.c' FAILED ********************</div><div class="">Script:</div><div class="">--</div><div class="">/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/./bin/clang -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -shared-libasan -c -o /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/tools/clang/runtime/compiler-rt-bins/test/asan/POWERPC64LELinuxDynamicConfig/TestCases/Posix/Output/global-registration.c.tmp-one.o -DMAIN_FILE /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class="">/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/./bin/clang -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -shared-libasan -c -o /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/tools/clang/runtime/compiler-rt-bins/test/asan/POWERPC64LELinuxDynamicConfig/TestCases/Posix/Output/global-registration.c.tmp-two.o -DSECONDARY_FILE /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class="">/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/./bin/clang -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -shared-libasan -o /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/tools/clang/runtime/compiler-rt-bins/test/asan/POWERPC64LELinuxDynamicConfig/TestCases/Posix/Output/global-registration.c.tmp /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/tools/clang/runtime/compiler-rt-bins/test/asan/POWERPC64LELinuxDynamicConfig/TestCases/Posix/Output/global-registration.c.tmp-one.o /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/tools/clang/runtime/compiler-rt-bins/test/asan/POWERPC64LELinuxDynamicConfig/TestCases/Posix/Output/global-registration.c.tmp-two.o</div><div class="">/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/./bin/clang -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -shared-libasan -o /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/tools/clang/runtime/compiler-rt-bins/test/asan/POWERPC64LELinuxDynamicConfig/TestCases/Posix/Output/<a href="http://global-registration.c.tmp-dynamic.so/" class="">global-registration.c.tmp-dynamic.so</a><span class="Apple-converted-space"> </span>-shared -fPIC -ldl -DSHARED_LIBRARY_FILE /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class="">not  /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/tools/clang/runtime/compiler-rt-bins/test/asan/POWERPC64LELinuxDynamicConfig/TestCases/Posix/Output/global-registration.c.tmp 1 2>&1 | FileCheck --check-prefix ASAN-CHECK-1 /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class="">not  /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/tools/clang/runtime/compiler-rt-bins/test/asan/POWERPC64LELinuxDynamicConfig/TestCases/Posix/Output/global-registration.c.tmp 2 2>&1 | FileCheck --check-prefix ASAN-CHECK-2 /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class="">not  /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/tools/clang/runtime/compiler-rt-bins/test/asan/POWERPC64LELinuxDynamicConfig/TestCases/Posix/Output/global-registration.c.tmp 3 2>&1 | FileCheck --check-prefix ASAN-CHECK-3 /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class="">--</div><div class="">Exit Code: 1</div><div class=""><br class=""></div><div class="">Command Output (stderr):</div><div class="">--</div><div class="">/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c:35:5: warning: implicit declaration of function 'asprintf' is invalid in C99 [-Wimplicit-function-declaration]</div><div class="">    asprintf(&libpath, "%s-dynamic.so", argv[0]);</div><div class="">    ^</div><div class="">1 warning generated.</div><div class="">/usr/bin/ld: /home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm_build64/tools/clang/runtime/compiler-rt-bins/test/asan/POWERPC64LELinuxDynamicConfig/TestCases/Posix/Output/global-registration.c.tmp-one.o: undefined reference to symbol 'dlsym@@GLIBC_2.17'</div><div class="">/lib64/libdl.so.2: error adding symbols: DSO missing from command line</div><div class="">clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation)</div><div class=""><br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Thu, Jun 23, 2016 at 4:33 PM Ryan Govostes <<a href="mailto:rzg@apple.com" class="">rzg@apple.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div style="word-wrap: break-word;" class=""><div class="">The error makes it look like the test does not generate an ASAN violation when we dlopen() a shared library and then perform a global buffer overflow on a symbol within that library.</div><div class=""></div></div><div style="word-wrap: break-word;" class=""><div class=""><div class=""><pre style="font-family: 'Courier New', courier, monotype, monospace;" class=""><span class="m_-8465285927968547883stdout">not  /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan/ARMAndroidConfig/TestCases/Posix/Output/global-registration.c.tmp 3 2>&1 | FileCheck --check-prefix ASAN-CHECK-3 /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c
</span></pre></div></div></div><div style="word-wrap: break-word;" class=""><div class=""><div class="">I'm assuming the dlopen or dlsym call fails. Are those restricted on Android? I can split that off into a separate test and make it XFAIL if so. Otherwise if there is something else I need to be aware of with Android tests to make this work, please let me know.</div><div class=""><br class=""></div><div class="">I've committed a version that logs output if dl* fails, r273629.</div></div></div><div style="word-wrap: break-word;" class=""><div class=""><div class=""><br class=""></div><div class="">Ryan</div></div></div><div style="word-wrap: break-word;" class=""><div class=""><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Jun 23, 2016, at 15:51, Mike Aizatsky <<a href="mailto:aizatsky@google.com" target="_blank" class="cremed">aizatsky@google.com</a>> wrote:</div><br class="m_-8465285927968547883Apple-interchange-newline"><div class=""><div dir="ltr" class="">Ryan,<div class=""><br class=""></div><div class="">This test breaks the bot:</div><div class=""><a href="http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/24502" target="_blank" class="cremed">http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/24502</a><br class=""></div><div class=""><br class=""></div><div class=""><div class="">@@@BUILD_STEP run asan lit tests [arm/hammerhead-userdebug/LMY48T]@@@</div><div class="">+ echo @@@BUILD_STEP run asan lit tests '[arm/hammerhead-userdebug/LMY48T]@@@'</div><div class="">+ cd /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm</div><div class="">+ ninja check-asan</div><div class="">[1/1] Running the AddressSanitizer tests</div><div class="">-- Testing: 364 tests, 16 threads --</div><div class="">Testing: 0 .. 10.. 20.. </div><div class="">FAIL: AddressSanitizer-arm-android :: TestCases/Posix/global-registration.c (112 of 364)</div><div class="">******************** TEST 'AddressSanitizer-arm-android :: TestCases/Posix/global-registration.c' FAILED ********************</div><div class="">Script:</div><div class="">--</div><div class="">/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/compiler-rt/test/asan/android_commands/android_compile.py  /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm_build64/bin/clang -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only --target=armv7-linux-androideabi --sysroot=/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/../../../android-ndk/standalone-arm/sysroot -B/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/../../../android-ndk/standalone-arm -lm -shared-libasan -c -o /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan/ARMAndroidConfig/TestCases/Posix/Output/global-registration.c.tmp-one.o -DDYNAMICLIB=\"/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan/ARMAndroidConfig/TestCases/Posix/Output/<a href="http://global-registration.c.tmp-dynamic.so/" target="_blank" class="cremed">global-registration.c.tmp-dynamic.so</a>\" -DMAIN_FILE /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class="">/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/compiler-rt/test/asan/android_commands/android_compile.py  /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm_build64/bin/clang -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only --target=armv7-linux-androideabi --sysroot=/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/../../../android-ndk/standalone-arm/sysroot -B/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/../../../android-ndk/standalone-arm -lm -shared-libasan -c -o /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan/ARMAndroidConfig/TestCases/Posix/Output/global-registration.c.tmp-two.o -DSECONDARY_FILE /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class="">/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/compiler-rt/test/asan/android_commands/android_compile.py  /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm_build64/bin/clang -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only --target=armv7-linux-androideabi --sysroot=/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/../../../android-ndk/standalone-arm/sysroot -B/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/../../../android-ndk/standalone-arm -lm -shared-libasan -o /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan/ARMAndroidConfig/TestCases/Posix/Output/global-registration.c.tmp /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan/ARMAndroidConfig/TestCases/Posix/Output/global-registration.c.tmp-one.o /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan/ARMAndroidConfig/TestCases/Posix/Output/global-registration.c.tmp-two.o</div><div class="">/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/compiler-rt/test/asan/android_commands/android_compile.py  /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm_build64/bin/clang -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only --target=armv7-linux-androideabi --sysroot=/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/../../../android-ndk/standalone-arm/sysroot -B/mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/../../../android-ndk/standalone-arm -lm -shared-libasan -shared -fPIC -o /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan/ARMAndroidConfig/TestCases/Posix/Output/<a href="http://global-registration.c.tmp-dynamic.so/" target="_blank" class="cremed">global-registration.c.tmp-dynamic.so</a><span class="Apple-converted-space"> </span>-DSHARED_LIBRARY_FILE /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class="">not  /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan/ARMAndroidConfig/TestCases/Posix/Output/global-registration.c.tmp 1 2>&1 | FileCheck --check-prefix ASAN-CHECK-1 /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class="">not  /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan/ARMAndroidConfig/TestCases/Posix/Output/global-registration.c.tmp 2 2>&1 | FileCheck --check-prefix ASAN-CHECK-2 /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class="">not  /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan/ARMAndroidConfig/TestCases/Posix/Output/global-registration.c.tmp 3 2>&1 | FileCheck --check-prefix ASAN-CHECK-3 /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class="">--</div><div class="">Exit Code: 2</div><div class=""><br class=""></div><div class="">Command Output (stderr):</div><div class="">--</div><div class="">clang-3.9: warning: -lm: 'linker' input unused</div><div class="">clang-3.9: warning: -lm: 'linker' input unused</div><div class="">FileCheck error: '-' is empty.</div><div class="">FileCheck command line:  FileCheck --check-prefix ASAN-CHECK-3 /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/projects/compiler-rt/test/asan/TestCases/Posix/global-registration.c</div><div class=""><br class=""></div><div class="">--</div><div class=""><br class=""></div><div class="">********************</div><div class="">Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. </div><div class="">Testing Time: 537.93s</div><div class="">********************</div><div class="">Failing Tests (1):</div><div class="">   <span class="Apple-converted-space"> </span>AddressSanitizer-arm-android :: TestCases/Posix/global-registration.c</div><div class=""><br class=""></div><div class=""> <span class="Apple-converted-space"> </span>Expected Passes    : 165</div><div class=""> <span class="Apple-converted-space"> </span>Expected Failures  : 40</div><div class=""> <span class="Apple-converted-space"> </span>Unsupported Tests  : 158</div><div class=""> <span class="Apple-converted-space"> </span>Unexpected Failures: 1</div><div class="">FAILED: cd /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan && /usr/bin/python2.7 /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/llvm/utils/lit/lit.py -sv /mnt/b/sanitizer-buildbot1/sanitizer-x86_64-linux/build/compiler_rt_build_android_arm/test/asan/ARMAndroidConfig</div><div class="">ninja: build stopped: subcommand failed.</div><div class="">@@@STEP_FAILURE@@@</div><div class="">+ echo @@@STEP_FAILURE@@@</div><div class="">+ echo @@@BUILD_STEP run sanitizer_common tests '[arm/hammerhead-userdebug/LMY48T]@@@'</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">--------------------------------------------------------------------------------</div><div class="">started: Thu Jun 23 13:34:17 2016</div><div class="">ended: Thu Jun 23 15:20:10 2016</div><div class="">duration: 1 hrs, 45 mins, 53 secs</div></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Wed, Jun 22, 2016 at 1:06 PM Ryan Govostes via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank" class="cremed">llvm-commits@lists.llvm.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;">Author: rgov<br class="">Date: Wed Jun 22 14:59:10 2016<br class="">New Revision: 273464<br class=""><br class="">URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project?rev=273464&view=rev" rel="noreferrer" target="_blank" class="cremed">http://llvm.org/viewvc/llvm-project?rev=273464&view=rev</a><br class="">Log:<br class="">[asan] Add a test case for global registration<br class=""><br class="">This test case checks that globals from all object files are being registered<br class="">after they've been linked together. It also checks that globals from libraries<br class="">loaded at runtime are registered.<br class=""><br class=""><br class="">Added:<br class="">   <span class="Apple-converted-space"> </span>compiler-rt/trunk/test/asan/TestCases/Posix/global-registration.c<br class=""><br class="">Added: compiler-rt/trunk/test/asan/TestCases/Posix/global-registration.c<br class="">URL:<span class="Apple-converted-space"> </span><a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/Posix/global-registration.c?rev=273464&view=auto" rel="noreferrer" target="_blank" class="cremed">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/Posix/global-registration.c?rev=273464&view=auto</a><br class="">==============================================================================<br class="">--- compiler-rt/trunk/test/asan/TestCases/Posix/global-registration.c (added)<br class="">+++ compiler-rt/trunk/test/asan/TestCases/Posix/global-registration.c Wed Jun 22 14:59:10 2016<br class="">@@ -0,0 +1,56 @@<br class="">+// Test that globals from different shared objects all get registered.<br class="">+<br class="">+// This source file is compiled into three different source object files. Each<br class="">+// object file declares a global buffer. The first two are linked together, and<br class="">+// the third is loaded at runtime. We make sure that out-of-bounds accesses<br class="">+// are caught for all three buffers.<br class="">+<br class="">+// RUN: %clang_asan -c -o %t-one.o -DDYNAMICLIB=\"%t-dynamic.so\" -DMAIN_FILE %s<br class="">+// RUN: %clang_asan -c -o %t-two.o -DSECONDARY_FILE %s<br class="">+// RUN: %clang_asan -o %t %t-one.o %t-two.o<br class="">+// RUN: %clang_asan -shared -o %t-dynamic.so -DSHARED_LIBRARY_FILE %s<br class="">+// RUN: not %run %t 1 2>&1 | FileCheck --check-prefix ASAN-CHECK-1 %s<br class="">+// RUN: not %run %t 2 2>&1 | FileCheck --check-prefix ASAN-CHECK-2 %s<br class="">+// RUN: not %run %t 3 2>&1 | FileCheck --check-prefix ASAN-CHECK-3 %s<br class="">+<br class="">+#if MAIN_FILE<br class="">+<br class="">+#include <dlfcn.h><br class="">+#include <stdlib.h><br class="">+<br class="">+extern char buffer2[1];<br class="">+char buffer1[1] = { };<br class="">+<br class="">+int main(int argc, char *argv[]) {<br class="">+  int n = atoi(argv[1]);<br class="">+  if (n == 1) {<br class="">+    buffer1[argc] = 0;<br class="">+    // ASAN-CHECK-1: {{0x.* is located 1 bytes .* 'buffer1'}}<br class="">+  } else if (n == 2) {<br class="">+    buffer2[argc] = 0;<br class="">+    // ASAN-CHECK-2: {{0x.* is located 1 bytes .* 'buffer2'}}<br class="">+  } else if (n == 3) {<br class="">+    void *handle = dlopen(DYNAMICLIB, RTLD_NOW);<br class="">+    if (!handle)<br class="">+      return 1;<br class="">+<br class="">+    char *buffer = (char *)dlsym(handle, "buffer3");<br class="">+    if (!buffer)<br class="">+      return 1;<br class="">+<br class="">+    buffer[argc] = 0;<br class="">+    // ASAN-CHECK-3: {{0x.* is located 1 bytes .* 'buffer3'}}<br class="">+  }<br class="">+<br class="">+  return 0;<br class="">+}<br class="">+<br class="">+#elif SECONDARY_FILE<br class="">+<br class="">+char buffer2[1] = { };<br class="">+<br class="">+#elif SHARED_LIBRARY_FILE<br class="">+<br class="">+char buffer3[1] = { };<br class="">+<br class="">+#endif<br class=""><br class=""><br class="">_______________________________________________<br class="">llvm-commits mailing list<br class=""><a href="mailto:llvm-commits@lists.llvm.org" target="_blank" class="cremed">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="cremed">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class=""></blockquote></div><div dir="ltr" class="">--<span class="Apple-converted-space"> </span><br class=""></div><div data-smartmail="gmail_signature" class="">Mike<br class="">Sent from phone</div></div></blockquote></div><br class=""></div></div></div></blockquote></div></div><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;" class="">--<span class="Apple-converted-space"> </span><br class=""></div><div data-smartmail="gmail_signature" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;" class="">Mike<br class="">Sent from phone</div></div></blockquote></div><br class=""></div></body></html>