llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.78k stars 11.9k forks source link

[asan][windows] Further relax how deep in the callstack main can be in some asan tests #92329

Closed barcharcraz closed 5 months ago

barcharcraz commented 5 months ago

This is needed because there will be an extra layer of wrapper when linking to the static-CRT after the static asan runtime is removed by #81677.

llvmbot commented 5 months ago

@llvm/pr-subscribers-compiler-rt-sanitizer

@llvm/pr-subscribers-platform-windows

Author: Charlie Barto (barcharcraz)

Changes This is needed because there will be an extra layer of wrapper when linking to the static-CRT after the static asan runtime is removed by #81677. --- Full diff: https://github.com/llvm/llvm-project/pull/92329.diff 4 Files Affected: - (modified) compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp (+2-2) - (modified) compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp (+1-1) - (modified) compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp (+1-1) - (modified) compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp (+2-2) ``````````diff diff --git a/compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp b/compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp index 12ed505883e27..ac3649a9e1bfa 100644 --- a/compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp +++ b/compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp @@ -24,10 +24,10 @@ int main(void) { // CHECK: [[ADDR]] is located 0 bytes inside of 4-byte region // CHECK-LABEL: freed by thread T0 here: // CHECK: {{#0 .* free }} - // CHECK: {{ #[1-2] .* main .*bitfield_uaf.cpp}}:[[@LINE-4]] + // CHECK: {{ #[1-3] .* main .*bitfield_uaf.cpp}}:[[@LINE-4]] // CHECK-LABEL: previously allocated by thread T0 here: // CHECK: {{#0 .* malloc }} - // CHECK: {{ #[1-2] .* main .*bitfield_uaf.cpp}}:[[@LINE-8]] + // CHECK: {{ #[1-3] .* main .*bitfield_uaf.cpp}}:[[@LINE-8]] make_access(s); return 0; } diff --git a/compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp b/compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp index e96fb6190f5a8..e71ffdb9f2417 100644 --- a/compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp +++ b/compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp @@ -12,6 +12,6 @@ int main() { // CHECK: [[ADDR]] is located 4 bytes before 168-byte region // CHECK: allocated by thread T0 here: // CHECK: {{#0 .* calloc }} - // CHECK: {{ #[1-2] .* main .*calloc_left_oob.cpp}}:[[@LINE-8]] + // CHECK: {{ #[1-3] .* main .*calloc_left_oob.cpp}}:[[@LINE-8]] free(buffer); } diff --git a/compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp b/compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp index fe0fc20e19190..507d84483cca8 100644 --- a/compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp +++ b/compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp @@ -12,6 +12,6 @@ int main() { // CHECK: [[ADDR]] is located 0 bytes after 168-byte region // CHECK: allocated by thread T0 here: // CHECK-NEXT: {{#0 .* calloc }} - // CHECK: {{ #[1-2] .* main .*calloc_right_oob.cpp}}:[[@LINE-8]] + // CHECK: {{ #[1-3] .* main .*calloc_right_oob.cpp}}:[[@LINE-8]] free(buffer); } diff --git a/compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp b/compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp index bf13f7d3eb662..a03c5e10a5333 100644 --- a/compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp +++ b/compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp @@ -13,8 +13,8 @@ int main() { // CHECK: [[ADDR]] is located 0 bytes inside of 168-byte region // CHECK: freed by thread T0 here: // CHECK-NEXT: {{#0 .* free }} - // CHECK: {{ #[1-2] .* main .*calloc_uaf.cpp}}:[[@LINE-8]] + // CHECK: {{ #[1-3] .* main .*calloc_uaf.cpp}}:[[@LINE-8]] // CHECK: previously allocated by thread T0 here: // CHECK-NEXT: {{#0 .* calloc }} - // CHECK: {{ #[1-2] .* main .*calloc_uaf.cpp}}:[[@LINE-12]] + // CHECK: {{ #[1-3] .* main .*calloc_uaf.cpp}}:[[@LINE-12]] } ``````````