File tree Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change 1
1
// DFSAN_OPTIONS=no_huge_pages_for_shadow=false RUN: %clang_dfsan %s -o %t && setarch `uname -m` -R %run %t
2
2
// DFSAN_OPTIONS=no_huge_pages_for_shadow=true RUN: %clang_dfsan %s -o %t && setarch `uname -m` -R %run %t
3
+ // DFSAN_OPTIONS=no_huge_pages_for_shadow=false RUN: %clang_dfsan %s -DORIGIN_TRACKING -mllvm -dfsan-fast-16-labels -mllvm -dfsan-track-origins=1 -o %t && setarch `uname -m` -R %run %t
4
+ // DFSAN_OPTIONS=no_huge_pages_for_shadow=true RUN: %clang_dfsan %s -DORIGIN_TRACKING -mllvm -dfsan-fast-16-labels -mllvm -dfsan-track-origins=1 -o %t && setarch `uname -m` -R %run %t
3
5
//
4
6
// REQUIRES: x86_64-target-arch
5
7
@@ -72,9 +74,16 @@ int main(int argc, char **argv) {
72
74
73
75
const size_t mmap_cost_kb = map_size >> 10 ;
74
76
const size_t mmap_shadow_cost_kb = sizeof (dfsan_label ) * mmap_cost_kb ;
77
+ #ifdef ORIGIN_TRACKING
78
+ const size_t mmap_origin_cost_kb = mmap_cost_kb ;
79
+ #else
80
+ const size_t mmap_origin_cost_kb = 0 ;
81
+ #endif
75
82
assert (after_mmap >= before + mmap_cost_kb );
76
- assert (after_mmap_and_set_label >= after_mmap + mmap_shadow_cost_kb );
77
- assert (after_mmap_and_set_label2 >= before + mmap_cost_kb + mmap_shadow_cost_kb );
83
+ assert (after_mmap_and_set_label >=
84
+ after_mmap + mmap_shadow_cost_kb + mmap_origin_cost_kb );
85
+ assert (after_mmap_and_set_label2 >=
86
+ before + mmap_cost_kb + mmap_shadow_cost_kb + mmap_origin_cost_kb );
78
87
79
88
// RSS may not change memory amount after munmap to the same level as the
80
89
// start of the program. The assert checks the memory up to a delta.
You can’t perform that action at this time.
0 commit comments