llvm-project/compiler-rt/test/lsan/TestCases
Leonard Grey ed2c3f46f5 [lsan][Darwin] Scan libdispatch and Foundation memory regions
libdispatch uses its own heap (_dispatch_main_heap) for some allocations, including the dispatch_continuation_t that holds a dispatch source's event handler.
Objective-C block trampolines (creating methods at runtime with a block as the implementations) use the VM_MEMORY_FOUNDATION region (see 8701d5672d/runtime/objc-block-trampolines.mm (L371)).

This change scans both regions to fix false positives. See tests for details; unfortunately I was unable to reduce the trampoline example with imp_implementationWithBlock on a new class, so I'm resorting to something close to the bug as seen in the wild.

Differential Revision: https://reviews.llvm.org/D129385
2022-09-14 16:46:40 -04:00
..
Darwin [lsan][Darwin] Scan libdispatch and Foundation memory regions 2022-09-14 16:46:40 -04:00
Linux Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
Posix
default_options.cpp
disabler.c Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
disabler.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
do_leak_check_override.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
high_allocator_contention.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
ignore_object.c Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
ignore_object_errors.cpp [lsan] Remove undefined ENV variables 2021-07-20 17:47:01 -07:00
large_allocation_leak.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
leak_check_at_exit.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
leak_check_before_thread_started.cpp
link_turned_off.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
malloc_zero.c [lsan] Mark 2 new lsan tests unsupported on arm-linux 2021-04-08 15:57:46 +01:00
many_threads_detach.cpp [NFC][LSAN] Limit the number of concurrent threads is the test 2021-06-07 17:38:12 -07:00
many_tls_keys_pthread.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
many_tls_keys_thread.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
new_array_with_dtor_0.cpp
pointer_to_self.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
print_suppressions.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
realloc_too_big.c Fix for e1d84c421d 2022-06-07 17:28:24 -07:00
realloc_zero.c [lsan][test] Add malloc(0) and realloc(p, 0) tests 2021-03-29 11:41:07 -07:00
recoverable_leak_check.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
register_root_region.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
sanity_check_pure_c.c
stale_stack_leak.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
strace_test.cpp [sanitizer]Update tests to be compatible with Android. 2020-10-21 17:16:54 -07:00
suppressions_default.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
suppressions_file.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
swapcontext.cpp [lsan][test] Enable many_tls_keys_pthread.cpp and disable swapcontext.cpp/fork_and_leak.cpp 2021-03-26 11:26:08 -07:00
use_after_return.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
use_globals_initialized.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
use_globals_uninitialized.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
use_globals_unused.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
use_poisoned_asan.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
use_registers.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
use_registers_extra.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
use_stacks.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
use_stacks_threaded.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00
use_unaligned.cpp Make lsan TestCases more consistent 2022-05-09 11:32:15 -07:00