summaryrefslogtreecommitdiffstats
path: root/compiler-rt
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2013-12-04 10:44:13 +0000
committerKostya Serebryany <kcc@google.com>2013-12-04 10:44:13 +0000
commit0060391a63198a8d26109d6e073863d4602c45b4 (patch)
tree0537f8f5fecbdcabaafb52cfbfe25c64e375076c /compiler-rt
parent5c4269c68810d4bdda5abdc39c0ee71854c82854 (diff)
downloadbcm5719-llvm-0060391a63198a8d26109d6e073863d4602c45b4.tar.gz
bcm5719-llvm-0060391a63198a8d26109d6e073863d4602c45b4.zip
[asan] require __i686__ for the SSE test; also make weaker claims about stack buffer overflows in another test
llvm-svn: 196373
Diffstat (limited to 'compiler-rt')
-rw-r--r--compiler-rt/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc4
-rw-r--r--compiler-rt/lib/asan/lit_tests/TestCases/stack-buffer-overflow-with-position.cc33
-rw-r--r--compiler-rt/lib/asan/lit_tests/TestCases/stack-use-after-return.cc4
-rw-r--r--compiler-rt/lib/asan/tests/asan_test.cc13
-rw-r--r--compiler-rt/lib/asan/tests/asan_test_utils.h4
5 files changed, 28 insertions, 30 deletions
diff --git a/compiler-rt/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc b/compiler-rt/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc
index 27b179e8362..0e2bf2fee8c 100644
--- a/compiler-rt/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc
+++ b/compiler-rt/lib/asan/lit_tests/TestCases/Linux/heavy_uar_test.cc
@@ -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;
}
diff --git a/compiler-rt/lib/asan/lit_tests/TestCases/stack-buffer-overflow-with-position.cc b/compiler-rt/lib/asan/lit_tests/TestCases/stack-buffer-overflow-with-position.cc
index 91820db0142..7fbe5c59575 100644
--- a/compiler-rt/lib/asan/lit_tests/TestCases/stack-buffer-overflow-with-position.cc
+++ b/compiler-rt/lib/asan/lit_tests/TestCases/stack-buffer-overflow-with-position.cc
@@ -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
diff --git a/compiler-rt/lib/asan/lit_tests/TestCases/stack-use-after-return.cc b/compiler-rt/lib/asan/lit_tests/TestCases/stack-use-after-return.cc
index 5ed42a8c0c9..0b160c1bef0 100644
--- a/compiler-rt/lib/asan/lit_tests/TestCases/stack-use-after-return.cc
+++ b/compiler-rt/lib/asan/lit_tests/TestCases/stack-use-after-return.cc
@@ -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
}
diff --git a/compiler-rt/lib/asan/tests/asan_test.cc b/compiler-rt/lib/asan/tests/asan_test.cc
index 9ab4cb0d8a4..4db80339804 100644
--- a/compiler-rt/lib/asan/tests/asan_test.cc
+++ b/compiler-rt/lib/asan/tests/asan_test.cc
@@ -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, ThreadStackReuseTest) {
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;
diff --git a/compiler-rt/lib/asan/tests/asan_test_utils.h b/compiler-rt/lib/asan/tests/asan_test_utils.h
index 403773180c2..b6bf6b82066 100644
--- a/compiler-rt/lib/asan/tests/asan_test_utils.h
+++ b/compiler-rt/lib/asan/tests/asan_test_utils.h
@@ -41,10 +41,6 @@
#include <unistd.h>
#endif
-#if defined(__i386__) || defined(__x86_64__)
-#include <emmintrin.h>
-#endif
-
#ifndef __APPLE__
#include <malloc.h>
#endif
OpenPOWER on IntegriCloud