[HWASan] Move LTO test to separate file.
authorMatt Morehouse <mascasa@google.com>
Mon, 22 Nov 2021 21:12:47 +0000 (13:12 -0800)
committerMatt Morehouse <mascasa@google.com>
Mon, 22 Nov 2021 21:19:11 +0000 (13:19 -0800)
The test fails on Android for an unknown reason but is still worth
having for x86.

compiler-rt/test/hwasan/TestCases/global.c
compiler-rt/test/hwasan/TestCases/lto.c [new file with mode: 0644]

index 45413fe..23fefd0 100644 (file)
@@ -5,10 +5,6 @@
 // RUN: not %run %t -1 2>&1 | FileCheck --check-prefixes=CHECK,LSYM %s
 // RUN: not %env_hwasan_opts=symbolize=0 %run %t -1 2>&1 | FileCheck --check-prefixes=CHECK,LNOSYM %s
 
-// Test with LTO, since it invokes the integrated assembler separately.
-// RUN: %clang_hwasan -flto %s -o %t
-// RUN: not %run %t 1 2>&1 | FileCheck --check-prefixes=CHECK,RSYM %s
-
 // Test with and without optimizations, with and without PIC, since different
 // backend passes run depending on these flags.
 // RUN: %clang_hwasan -fno-pic %s -o %t
diff --git a/compiler-rt/test/hwasan/TestCases/lto.c b/compiler-rt/test/hwasan/TestCases/lto.c
new file mode 100644 (file)
index 0000000..6a83a32
--- /dev/null
@@ -0,0 +1,17 @@
+// Test globals with LTO, since it invokes the integrated assembler separately.
+// RUN: %clang_hwasan -flto %s -o %t
+// RUN: not %run %t 1 2>&1 | FileCheck %s
+
+// REQUIRES: pointer-tagging
+// UNSUPPORTED: android
+
+#include <stdlib.h>
+
+int x = 1;
+
+int main(int argc, char **argv) {
+  // CHECK: Cause: global-overflow
+  // CHECK: is located 0 bytes to the right of 4-byte global variable x {{.*}} in {{.*}}lto.c.tmp
+  // CHECK-NOT: can not describe
+  (&x)[atoi(argv[1])] = 1;
+}