[hwasan] Fix test on x86.
authorFlorian Mayer <fmayer@google.com>
Tue, 10 Aug 2021 11:50:46 +0000 (12:50 +0100)
committerFlorian Mayer <fmayer@google.com>
Tue, 10 Aug 2021 12:06:12 +0000 (13:06 +0100)
Reviewed By: dvyukov

Differential Revision: https://reviews.llvm.org/D107816

compiler-rt/test/hwasan/TestCases/double-free.c
compiler-rt/test/hwasan/TestCases/use-after-free.c

index 561d4bc..f77c27c 100644 (file)
@@ -13,7 +13,10 @@ int main() {
   free(x);
   // CHECK: ERROR: HWAddressSanitizer: invalid-free on address {{.*}} at pc {{[0x]+}}[[PC:.*]] on thread T{{[0-9]+}}
   // CHECK: tags: [[PTR_TAG:..]]/[[MEM_TAG:..]] (ptr/mem)
-  // CHECK: #0 {{[0x]+}}{{.*}}[[PC]] in free
+  // CHECK: #0 {{[0x]+}}{{.*}}[[PC]]
+  // If we instrument using calls (default on x86), free is not the top frame
+  // of the fault.
+  // CHECK: in free
   // CHECK: freed by thread {{.*}} here:
   // CHECK: previously allocated here:
   // CHECK: Memory tags around the buggy address (one tag corresponds to 16 bytes):
index 9b750aa..94a8939 100644 (file)
@@ -22,7 +22,10 @@ int main() {
   if (ISREAD) r = x[5]; else x[5] = 42;  // should be on the same line.
   // CHECK: ERROR: HWAddressSanitizer: tag-mismatch on address {{.*}} at pc {{[0x]+}}[[PC:.*]]
   // CHECK: [[TYPE]] of size 1 at {{.*}} tags: [[PTR_TAG:[0-9a-f][0-9a-f]]]/[[MEM_TAG:[0-9a-f][0-9a-f]]] (ptr/mem)
-  // CHECK: #{{[0-9]}} {{[0-9]+}}{{.*}}[[PC]] in main {{.*}}use-after-free.c:[[@LINE-3]]
+  // CHECK: #{{[0-9]}} {{[0-9]+}}{{.*}}[[PC]]
+  // If we instrument using calls (default on x86), main is not the top frame
+  // of the fault.
+  // CHECK: in main {{.*}}use-after-free.c:[[@LINE-6]]
   // Offset is 5 or 11 depending on left/right alignment.
   // CHECK: is a small unallocated heap chunk; size: 32 offset: {{5|11}}
   // CHECK: Cause: use-after-free
@@ -30,11 +33,11 @@ int main() {
   //
   // CHECK: freed by thread {{.*}} here:
   // CHECK: #0 {{.*}} in {{.*}}free{{.*}} {{.*}}hwasan_allocation_functions.cpp
-  // CHECK: #1 {{.*}} in main {{.*}}use-after-free.c:[[@LINE-16]]
+  // CHECK: #1 {{.*}} in main {{.*}}use-after-free.c:[[@LINE-19]]
 
   // CHECK: previously allocated here:
   // CHECK: #0 {{.*}} in {{.*}}malloc{{.*}} {{.*}}hwasan_allocation_functions.cpp
-  // CHECK: #1 {{.*}} in main {{.*}}use-after-free.c:[[@LINE-21]]
+  // CHECK: #1 {{.*}} in main {{.*}}use-after-free.c:[[@LINE-24]]
   // CHECK: Memory tags around the buggy address (one tag corresponds to 16 bytes):
   // CHECK: =>{{.*}}[[MEM_TAG]]
   // CHECK: SUMMARY: HWAddressSanitizer: tag-mismatch