<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">No problem. Do you know why it's failing though? Dan added this test today along with 3 other very similar tests (<a href="https://reviews.llvm.org/D43702" class="">https://reviews.llvm.org/D43702</a>), but only this one (<a href="http://strcat-overlap.cc" class="">strcat-overlap.cc</a>) fails...<div class=""><br class=""></div><div class="">Kuba<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Mar 8, 2018, at 4:24 PM, Matt Morehouse <<a href="mailto:mascasa@google.com" class="">mascasa@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Great, thanks for the strcat test fix as well!</div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Mar 8, 2018 at 4:22 PM, Kuba Mracek <span dir="ltr" class=""><<a href="mailto:mracek@apple.com" target="_blank" class="">mracek@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"><div style="word-wrap:break-word;line-break:after-white-space" class="">The bot is back to green: <<a href="http://lab.llvm.org:8011/builders/sanitizer-windows/builds/25347" target="_blank" class="">http://lab.llvm.org:8011/<wbr class="">builders/sanitizer-windows/<wbr class="">builds/25347</a>><span class="HOEnZb"><font color="#888888" class=""><div class=""><br class=""></div></font></span><div class=""><span class="HOEnZb"><font color="#888888" class="">Kuba</font></span><div class=""><div class="h5"><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Mar 8, 2018, at 3:59 PM, Kuba Mracek via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank" class="">llvm-commits@lists.llvm.org</a>> wrote:</div><br class="m_-7480998754191688172Apple-interchange-newline"><div class=""><div style="word-wrap:break-word;line-break:after-white-space" class="">Thanks!<div class=""><br class=""></div><div class="">Kuba<br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Mar 8, 2018, at 3:05 PM, Matt Morehouse via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" target="_blank" class="">llvm-commits@lists.llvm.org</a>> wrote:</div><br class="m_-7480998754191688172Apple-interchange-newline"><div class=""><div dir="ltr" class="">This seems to fail on Windows:  <a href="http://lab.llvm.org:8011/builders/sanitizer-windows/builds/25343/steps/run%20check-asan/logs/stdio" target="_blank" class="">http://lab.llvm.org:<wbr class="">8011/builders/sanitizer-<wbr class="">windows/builds/25343/steps/<wbr class="">run%20check-asan/logs/stdio</a><div class=""><br class=""></div><div class=""><pre style="font-family:"Courier New",courier,monotype,monospace;font-size:inherit;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;word-spacing:0px" class=""><span class="m_-7480998754191688172gmail-stdout" style="font-family:"Courier New",courier,monotype,monospace">FAIL: AddressSanitizer-i386-windows :: TestCases/<a href="http://lto-constmerge-odr.cc/" target="_blank" class="">lto-constmerge-odr.<wbr class="">cc</a> (488 of 602)
******************** TEST 'AddressSanitizer-i386-windows :: TestCases/<a href="http://lto-constmerge-odr.cc/" target="_blank" class="">lto-constmerge-odr.<wbr class="">cc</a>' FAILED ********************
Script:
--
C:/b/slave/sanitizer-windows/<wbr class="">build/./bin/clang.exe  -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -gcodeview -gcolumn-info   -fms-compatibility-version=19.<wbr class="">00.24215.1  -O3 -flto C:\b\slave\sanitizer-windows\<wbr class="">llvm\projects\compiler-rt\<wbr class="">test\asan\TestCases\<a href="http://lto-constmerge-odr.cc/" target="_blank" class="">lto-<wbr class="">constmerge-odr.cc</a> -o C:\b\slave\sanitizer-windows\<wbr class="">build\projects\compiler-rt\<wbr class="">test\asan\I386WindowsConfig\<wbr class="">TestCases\Output\lto-<wbr class="">constmerge-odr.cc.tmp
C:\b\slave\sanitizer-windows\<wbr class="">build\projects\compiler-rt\<wbr class="">test\asan\I386WindowsConfig\<wbr class="">TestCases\Output\lto-<wbr class="">constmerge-odr.cc.tmp 2>&1
--
Exit Code: 1107

Command Output (stdout):
--
$ "C:/b/slave/sanitizer-windows/<wbr class="">build/./bin/clang.exe" "-fsanitize=address" "-mno-omit-leaf-frame-pointer" "-fno-omit-frame-pointer" "-fno-optimize-sibling-calls" "-gline-tables-only" "-gcodeview" "-gcolumn-info" "-fms-compatibility-version=<wbr class="">19.00.24215.1" "-O3" "-flto" "C:\b\slave\sanitizer-windows\<wbr class="">llvm\projects\compiler-rt\<wbr class="">test\asan\TestCases\<a href="http://lto-constmerge-odr.cc/" target="_blank" class="">lto-<wbr class="">constmerge-odr.cc</a>" "-o" "C:\b\slave\sanitizer-windows\<wbr class="">build\projects\compiler-rt\<wbr class="">test\asan\I386WindowsConfig\<wbr class="">TestCases\Output\lto-<wbr class="">constmerge-odr.cc.tmp"
# command output:
c:\users\buildbot\appdata\<wbr class="">local\temp\lit_tmp_q0kr73\lto-<wbr class="">constmerge-odr-c755bc.o : fatal error LNK1107: invalid or corrupt file: cannot read at 0x2F08


# command stderr:
clang.exe: error: linker command failed with exit code 1107 (use -v to see invocation)


error: command failed with exit status: 1107</span></pre><br class=""></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Mar 8, 2018 at 1:02 PM, Kuba Mracek via llvm-commits <span dir="ltr" class=""><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank" class="">llvm-commits@lists.llvm.org</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: kuba.brecka<br class="">
Date: Thu Mar  8 13:02:52 2018<br class="">
New Revision: 327062<br class="">
<br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=327062&view=rev" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-pr<wbr class="">oject?rev=327062&view=rev</a><br class="">
Log:<br class="">
[asan] Fix a false positive ODR violation due to LTO ConstantMerge pass [compiler-rt part, take 3]<br class="">
<br class="">
This fixes a false positive ODR violation that is reported by ASan when using LTO. In cases, where two constant globals have the same value, LTO will merge them, which breaks ASan's ODR detection. See the included testcase for an example.<br class="">
<br class="">
Differential Revision: <a href="https://reviews.llvm.org/D43959" rel="noreferrer" target="_blank" class="">https://reviews.llvm.org/D4395<wbr class="">9</a><br class="">
<br class="">
<br class="">
Added:<br class="">
    compiler-rt/trunk/test/asan/Te<wbr class="">stCases/<a href="http://lto-constmerge-odr.cc" class="">lto-constmerge-odr.cc</a><br class="">
Modified:<br class="">
    compiler-rt/trunk/test/asan/Te<wbr class="">stCases/Darwin/<a href="http://odr-lto.cc/" target="_blank" class="">odr-lto.cc</a><br class="">
<br class="">
Modified: compiler-rt/trunk/test/asan/Te<wbr class="">stCases/Darwin/<a href="http://odr-lto.cc/" target="_blank" class="">odr-lto.cc</a><br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/Darwin/odr-lto.cc?rev=327062&r1=327061&r2=327062&view=diff" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-pr<wbr class="">oject/compiler-rt/trunk/test/<wbr class="">asan/TestCases/Darwin/odr-lto.<wbr class="">cc?rev=327062&r1=327061&r2=<wbr class="">327062&view=diff</a><br class="">
==============================<wbr class="">==============================<wbr class="">==================<br class="">
--- compiler-rt/trunk/test/asan/Te<wbr class="">stCases/Darwin/<a href="http://odr-lto.cc/" target="_blank" class="">odr-lto.cc</a> (original)<br class="">
+++ compiler-rt/trunk/test/asan/Te<wbr class="">stCases/Darwin/<a href="http://odr-lto.cc/" target="_blank" class="">odr-lto.cc</a> Thu Mar  8 13:02:52 2018<br class="">
@@ -3,15 +3,10 @@<br class="">
<br class="">
 // REQUIRES: lto<br class="">
<br class="">
-// RUN: %clangxx_asan -DPART=0 -c %s -o %t-1.o -flto<br class="">
-// RUN: %clangxx_asan -DPART=1 -c %s -o %t-2.o -flto<br class="">
-// RUN: %clangxx_asan %t-1.o %t-2.o -o %t -flto<br class="">
-// RUN: not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-ODR<br class="">
-<br class="">
 // RUN: %clangxx_asan -DPART=0 -c %s -o %t-1.o -flto -mllvm -asan-use-private-alias<br class="">
 // RUN: %clangxx_asan -DPART=1 -c %s -o %t-2.o -flto -mllvm -asan-use-private-alias<br class="">
 // RUN: %clangxx_asan %t-1.o %t-2.o -o %t -flto<br class="">
-// RUN: %env_asan_opts=use_odr_indicat<wbr class="">or=1 %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-NO-ODR<br class="">
+// RUN: %env_asan_opts=use_odr_indicat<wbr class="">or=1 %run %t 2>&1 | FileCheck %s<br class="">
<br class="">
 #include <stdio.h><br class="">
 #include <stdlib.h><br class="">
@@ -40,6 +35,5 @@ void putstest()<br class="">
<br class="">
 #endif // PART == 1<br class="">
<br class="">
-// CHECK-ODR: ERROR: AddressSanitizer: odr-violation<br class="">
-// CHECK-NO-ODR-NOT: ERROR: AddressSanitizer: odr-violation<br class="">
-// CHECK-NO-ODR: Done.<br class="">
+// CHECK-NOT: ERROR: AddressSanitizer: odr-violation<br class="">
+// CHECK: Done.<br class="">
<br class="">
Added: compiler-rt/trunk/test/asan/Te<wbr class="">stCases/<a href="http://lto-constmerge-odr.cc" class="">lto-constmerge-odr.cc</a><br class="">
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/lto-constmerge-odr.cc?rev=327062&view=auto" rel="noreferrer" target="_blank" class="">http://llvm.org/viewvc/llvm-pr<wbr class="">oject/compiler-rt/trunk/test/<wbr class="">asan/TestCases/lto-constmerge-<wbr class="">odr.cc?rev=327062&view=auto</a><br class="">
==============================<wbr class="">==============================<wbr class="">==================<br class="">
--- compiler-rt/trunk/test/asan/Te<wbr class="">stCases/<a href="http://lto-constmerge-odr.cc" class="">lto-constmerge-odr.cc</a> (added)<br class="">
+++ compiler-rt/trunk/test/asan/Te<wbr class="">stCases/<a href="http://lto-constmerge-odr.cc" class="">lto-constmerge-odr.cc</a> Thu Mar  8 13:02:52 2018<br class="">
@@ -0,0 +1,14 @@<br class="">
+// RUN: %clangxx_asan -O3 -flto %s -o %t<br class="">
+// RUN: %run %t 2>&1<br class="">
+<br class="">
+// REQUIRES: lto<br class="">
+<br class="">
+int main(int argc, const char * argv[]) {<br class="">
+  struct { long width, height; } a = {16, 16};<br class="">
+  struct { long width, height; } b = {16, 16};<br class="">
+<br class="">
+  // Just to make sure 'a' and 'b' don't get optimized out.<br class="">
+  asm volatile("" : : "r" (&a), "r" (&b));<br class="">
+<br class="">
+  return 0;<br class="">
+}<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="">
</blockquote></div><br class=""></div>
______________________________<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" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/llvm-commits</a><br class=""></div></blockquote></div><br class=""></div></div>______________________________<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" target="_blank" class="">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/llvm-commits</a><br class=""></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></div></body></html>