llvm-project/compiler-rt/test/dfsan
Jianzhou Zhao fc1d39849e [dfsan] Add a flag about whether to propagate offset labels at gep
DFSan has flags to control flows between pointers and objects referred
by pointers. For example,

a = *p;
L(a) = L(*p)        when -dfsan-combine-pointer-labels-on-load = false
L(a) = L(*p) + L(p) when -dfsan-combine-pointer-labels-on-load = true

*p = b;
L(*p) = L(b)        when -dfsan-combine-pointer-labels-on-store = false
L(*p) = L(b) + L(p) when -dfsan-combine-pointer-labels-on-store = true
The question is what to do with p += c.

In practice we found many confusing flows if we propagate labels from c
to p. So a new flag works like this

p += c;
L(p) = L(p)        when -dfsan-propagate-via-pointer-arithmetic = false
L(p) = L(p) + L(c) when -dfsan-propagate-via-pointer-arithmetic = true

Reviewed-by: gbalats

Differential Revision: https://reviews.llvm.org/D103176
2021-05-28 00:06:19 +00:00
..
Inputs
CMakeLists.txt [compiler-rt] Rename lit.*.cfg.* -> lit.*.cfg.py.* 2019-06-27 20:56:04 +00:00
atomic.cpp [dfsan] Add origin ABI wrappers for thread/signal/fork 2021-03-15 16:18:00 +00:00
basic.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
custom.cpp [dfsan] Add Origin ABI Wrappers 2021-03-24 18:22:03 +00:00
dump_labels.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
event_callbacks.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
fast16labels.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
flags.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
flush.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
fncall.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
fork.cpp [dfsan] Add origin ABI wrappers for thread/signal/fork 2021-03-15 16:18:00 +00:00
gep.c [dfsan] Add a flag about whether to propagate offset labels at gep 2021-05-28 00:06:19 +00:00
label_count.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
lit.cfg.py [dfsan] Re-enable origin tracking test cases 2021-03-06 02:41:56 +00:00
lit.site.cfg.py.in [compiler-rt] Rename lit.*.cfg.* -> lit.*.cfg.py.* 2019-06-27 20:56:04 +00:00
mmap_at_init.c [dfsan] Rename and fix an internal test issue for mmap+calloc 2021-05-07 00:57:21 +00:00
origin_add_label.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_branch.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_disabled.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_invalid.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_ld_lost.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_ldst.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_limit.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_memcpy.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_memmove.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_memset.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_overlapped.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_set_label.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_stack_trace.c [dfsan] Add function that prints origin stack trace to buffer 2021-05-24 11:09:03 -07:00
origin_track_ld.c [dfsan] Track origin at loads 2021-04-22 16:25:24 +00:00
origin_unaligned_memtrans.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_untainted.c [dfsan] Disable testing origin tracking on non x86_64 arch 2021-03-11 21:22:43 +00:00
origin_with_sigactions.c [dfsan] Add origin ABI wrappers for thread/signal/fork 2021-03-15 16:18:00 +00:00
origin_with_signals.cpp [dfsan] Add origin ABI wrappers for thread/signal/fork 2021-03-15 16:18:00 +00:00
pair.cpp [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
propagate.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
pthread.c [dfsan] Add origin ABI wrappers for thread/signal/fork 2021-03-15 16:18:00 +00:00
release_shadow_space.c [dfsan] extend a test case to measure origin memory usage 2021-05-06 00:19:44 +00:00
sigaction.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
sigaction_stress_test.c [dfsan] Add origin ABI wrappers for thread/signal/fork 2021-03-15 16:18:00 +00:00
struct.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
threaded_flush.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
trace-cmp.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
vararg.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00
write_callback.c [dfsan] Turn off all dfsan test cases on non x86_64 OSs 2021-05-05 05:30:53 +00:00