[compiler-rt] r273260 - [asan] add primitives that allow coroutine implementations

Dmitry Vyukov via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 22 08:42:40 PDT 2016


On Wed, Jun 22, 2016 at 5:30 PM, Mike Aizatsky <aizatsky at google.com> wrote:
> Dmitry,
>
> This still fails:
>
> http://lab.llvm.org:8011/builders/sanitizer-windows/builds/24385/steps/run%20tests/logs/stdio


Humm... these failures look unrelated:


C:\b\slave\sanitizer-windows\llvm\projects\compiler-rt\test\asan\TestCases\Windows\dll_intercept_memchr.cc:14:16:
error: expected string not found in input

// CHECK-NEXT: __asan_wrap_memchr

               ^

<stdin>:4:2: note: scanning from here

 #0 0x6fb29518 in _asan_wrap_memchr
(C:\b\slave\sanitizer-windows\build\lib\clang\3.9.0\lib\windows\clang_rt.asan_dynamic-i386.dll+0x10019518)

 ^

extern "C" __declspec(dllexport)
int test_function() {
  char buff[6] = "Hello";

  memchr(buff, 'z', 7);
// CHECK: AddressSanitizer: stack-buffer-overflow on address
[[ADDR:0x[0-9a-f]+]]
// CHECK: READ of size 7 at [[ADDR]] thread T0
// CHECK-NEXT:  __asan_wrap_memchr
// CHECK-NEXT:  memchr
// CHECK-NEXT:  test_function {{.*}}dll_intercept_memchr.cc:[[@LINE-5]]
// CHECK: Address [[ADDR]] is located in stack of thread T0 at offset
{{.*}} in frame
// CHECK-NEXT:  test_function {{.*}}dll_intercept_memchr.cc
// CHECK: 'buff' <== Memory access at offset {{.*}} overflows this variable
  return 0;
}



For some reason the function now has one underscore instead of two.
+Reid, did anything change in the linker?


More information about the llvm-commits mailing list