[compiler-rt] r196373 - [asan] require __i686__ for the SSE test; also make weaker claims about stack buffer overflows in another test

Kostya Serebryany kcc at google.com
Wed Dec 4 02:44:13 PST 2013


Author: kcc
Date: Wed Dec  4 04:44:13 2013
New Revision: 196373

URL: http://llvm.org/viewvc/llvm-project?rev=196373&view=rev
Log:
[asan] require __i686__ for the SSE test; also make weaker claims about stack buffer overflows in another test

Modified:
    compiler-rt/trunk/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc
    compiler-rt/trunk/lib/asan/lit_tests/TestCases/stack-buffer-overflow-with-position.cc
    compiler-rt/trunk/lib/asan/lit_tests/TestCases/stack-use-after-return.cc
    compiler-rt/trunk/lib/asan/tests/asan_test.cc
    compiler-rt/trunk/lib/asan/tests/asan_test_utils.h

Modified: compiler-rt/trunk/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc?rev=196373&r1=196372&r2=196373&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc (original)
+++ compiler-rt/trunk/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc Wed Dec  4 04:44:13 2013
@@ -47,8 +47,8 @@ int main(int argc, char **argv) {
   RecuriveFunctionWithStackFrame<1024>(10);
   stale_stack[100]++;
   // CHECK: ERROR: AddressSanitizer: stack-use-after-return on address
-  // CHECK: is located in stack of thread T0 at offset 132 in frame
+  // CHECK: is located in stack of thread T0 at offset {{116|132}} in frame
   // CHECK:  in LeakStack(){{.*}}heavy_uar_test.cc:
-  // CHECK: [32, 1056) 'x'
+  // CHECK: [{{16|32}}, {{1040|1056}}) 'x'
   return 0;
 }

Modified: compiler-rt/trunk/lib/asan/lit_tests/TestCases/stack-buffer-overflow-with-position.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/lit_tests/TestCases/stack-buffer-overflow-with-position.cc?rev=196373&r1=196372&r2=196373&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/lit_tests/TestCases/stack-buffer-overflow-with-position.cc (original)
+++ compiler-rt/trunk/lib/asan/lit_tests/TestCases/stack-buffer-overflow-with-position.cc Wed Dec  4 04:44:13 2013
@@ -5,15 +5,14 @@
 // RUN: %t 8
 // RUN: not %t 9  2>&1 | FileCheck --check-prefix=CHECK-9  %s
 // RUN: not %t 10 2>&1 | FileCheck --check-prefix=CHECK-10 %s
+// RUN: not %t 30 2>&1 | FileCheck --check-prefix=CHECK-30 %s
+// RUN: not %t 31 2>&1 | FileCheck --check-prefix=CHECK-31 %s
+// RUN: not %t 41 2>&1 | FileCheck --check-prefix=CHECK-41 %s
+// RUN: not %t 42 2>&1 | FileCheck --check-prefix=CHECK-42 %s
 // RUN: not %t 62 2>&1 | FileCheck --check-prefix=CHECK-62 %s
 // RUN: not %t 63 2>&1 | FileCheck --check-prefix=CHECK-63 %s
-// RUN: not %t 63 2>&1 | FileCheck --check-prefix=CHECK-63 %s
 // RUN: not %t 73 2>&1 | FileCheck --check-prefix=CHECK-73 %s
 // RUN: not %t 74 2>&1 | FileCheck --check-prefix=CHECK-74 %s
-// RUN: not %t 126 2>&1 | FileCheck --check-prefix=CHECK-126 %s
-// RUN: not %t 127 2>&1 | FileCheck --check-prefix=CHECK-127 %s
-// RUN: not %t 137 2>&1 | FileCheck --check-prefix=CHECK-137 %s
-// RUN: not %t 138 2>&1 | FileCheck --check-prefix=CHECK-138 %s
 #include <string.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -31,15 +30,15 @@ int main(int argc, char **argv) {
   // make sure BBB and CCC are not removed;
   return *(short*)(p) + BBB[argc % 2] + CCC[argc % 2];
 }
-// CHECK-m2:  'AAA' <== Memory access at offset 30 underflows this variable
-// CHECK-m1:  'AAA' <== Memory access at offset 31 partially underflows this variable
-// CHECK-9:   'AAA' <== Memory access at offset 41 partially overflows this variable
-// CHECK-10:  'AAA' <== Memory access at offset 42 overflows this variable
-// CHECK-62:  'BBB' <== Memory access at offset 94 underflows this variable
-// CHECK-63:  'BBB' <== Memory access at offset 95 partially underflows this variable
-// CHECK-73:  'BBB' <== Memory access at offset 105 partially overflows this variable
-// CHECK-74:  'BBB' <== Memory access at offset 106 overflows this variable
-// CHECK-126: 'CCC' <== Memory access at offset 158 underflows this variable
-// CHECK-127: 'CCC' <== Memory access at offset 159 partially underflows this variable
-// CHECK-137: 'CCC' <== Memory access at offset 169 partially overflows this variable
-// CHECK-138: 'CCC' <== Memory access at offset 170 overflows this variable
+// CHECK-m2: 'AAA' <== {{.*}}underflows this variable
+// CHECK-m1: 'AAA' <== {{.*}}partially underflows this variable
+// CHECK-9:  'AAA' <== {{.*}}partially overflows this variable
+// CHECK-10: 'AAA' <== {{.*}}overflows this variable
+// CHECK-30: 'BBB' <== {{.*}}underflows this variable
+// CHECK-31: 'BBB' <== {{.*}}partially underflows this variable
+// CHECK-41: 'BBB' <== {{.*}}partially overflows this variable
+// CHECK-42: 'BBB' <== {{.*}}overflows this variable
+// CHECK-62: 'CCC' <== {{.*}}underflows this variable
+// CHECK-63: 'CCC' <== {{.*}}partially underflows this variable
+// CHECK-73: 'CCC' <== {{.*}}partially overflows this variable
+// CHECK-74: 'CCC' <== {{.*}}overflows this variable

Modified: compiler-rt/trunk/lib/asan/lit_tests/TestCases/stack-use-after-return.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/lit_tests/TestCases/stack-use-after-return.cc?rev=196373&r1=196372&r2=196373&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/lit_tests/TestCases/stack-use-after-return.cc (original)
+++ compiler-rt/trunk/lib/asan/lit_tests/TestCases/stack-use-after-return.cc Wed Dec  4 04:44:13 2013
@@ -51,11 +51,11 @@ void Func2(char *x) {
   // CHECK: WRITE of size 1 {{.*}} thread T0
   // CHECK:     #0{{.*}}Func2{{.*}}stack-use-after-return.cc:[[@LINE-2]]
   // CHECK: is located in stack of thread T0 at offset
-  // CHECK: 'local' <== Memory access at offset 32 is inside this variable
+  // CHECK: 'local' <== Memory access at offset {{16|32}} is inside this variable
   // THREAD: WRITE of size 1 {{.*}} thread T{{[1-9]}}
   // THREAD:     #0{{.*}}Func2{{.*}}stack-use-after-return.cc:[[@LINE-6]]
   // THREAD: is located in stack of thread T{{[1-9]}} at offset
-  // THREAD: 'local' <== Memory access at offset 32 is inside this variable
+  // THREAD: 'local' <== Memory access at offset {{16|32}} is inside this variable
   // CHECK-20: T0: FakeStack created:{{.*}} stack_size_log: 20
   // CHECK-24: T0: FakeStack created:{{.*}} stack_size_log: 24
 }

Modified: compiler-rt/trunk/lib/asan/tests/asan_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/tests/asan_test.cc?rev=196373&r1=196372&r2=196373&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/tests/asan_test.cc (original)
+++ compiler-rt/trunk/lib/asan/tests/asan_test.cc Wed Dec  4 04:44:13 2013
@@ -452,12 +452,14 @@ NOINLINE void SizedStackTest() {
   for (size_t i = 0; i < kSize; i++)
     A[i] = i;
   EXPECT_DEATH(A[-1] = 0, "");
-  EXPECT_DEATH(A[-20] = 0, "");
-  EXPECT_DEATH(A[-31] = 0, "");
+  EXPECT_DEATH(A[-5] = 0, "");
+  if (kSize > 16)
+    EXPECT_DEATH(A[-31] = 0, "");
   EXPECT_DEATH(A[kSize] = 0, "");
   EXPECT_DEATH(A[kSize + 1] = 0, "");
-  EXPECT_DEATH(A[kSize + 10] = 0, "");
-  EXPECT_DEATH(A[kSize + 31] = 0, "");
+  EXPECT_DEATH(A[kSize + 5] = 0, "");
+  if (kSize > 16)
+    EXPECT_DEATH(A[kSize + 31] = 0, "");
 }
 
 TEST(AddressSanitizer, SimpleStackTest) {
@@ -669,7 +671,8 @@ TEST(AddressSanitizer, ThreadStackReuseT
   PTHREAD_JOIN(t, 0);
 }
 
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__i686__) || defined(__x86_64__)
+#include <emmintrin.h>
 TEST(AddressSanitizer, Store128Test) {
   char *a = Ident((char*)malloc(Ident(12)));
   char *p = a;

Modified: compiler-rt/trunk/lib/asan/tests/asan_test_utils.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/tests/asan_test_utils.h?rev=196373&r1=196372&r2=196373&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/tests/asan_test_utils.h (original)
+++ compiler-rt/trunk/lib/asan/tests/asan_test_utils.h Wed Dec  4 04:44:13 2013
@@ -41,10 +41,6 @@
 #include <unistd.h>
 #endif
 
-#if defined(__i386__) || defined(__x86_64__)
-#include <emmintrin.h>
-#endif
-
 #ifndef __APPLE__
 #include <malloc.h>
 #endif





More information about the llvm-commits mailing list