forked from OSchip/llvm-project
b684c1a50f
Summary: This change introduces the `Symbolizer::GetEnvP()` method that returns a pointer to environment array used for spawning the symbolizer process. The motivation is to allow implementations to customise the environment if required. The default implementation just returns `__sanitizer::GetEnviron()` which (provided it's implemented) should preserve the existing behaviours of the various implementations. This change has been plumbed through the `internal_spawn(...)` and `StartSubprocess(...)` process spawning implementations. For the `StartSubprocess()` implementation we need to call `execve()` rather than `execv()` to pass the environment. However, it appears that `internal_execve(...)` exists in sanitizer_common so this patch use that which seems like a nice clean up. Support in the Windows implementation of `SymbolizerProcess:StartSymbolizerSubprocess()` has not been added because the Windows sanitizer runtime doesn't implement `GetEnviron()`. rdar://problem/58789439 Reviewers: kubamracek, yln, dvyukov, vitalybuka, eugenis, phosek, aizatsky, rnk Subscribers: #sanitizers, llvm-commits Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D76666 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
malloc_stress_transfer_test.cpp | ||
sanitizer_allocator_test.cpp | ||
sanitizer_allocator_testlib.cpp | ||
sanitizer_atomic_test.cpp | ||
sanitizer_bitvector_test.cpp | ||
sanitizer_bvgraph_test.cpp | ||
sanitizer_common_test.cpp | ||
sanitizer_deadlock_detector_test.cpp | ||
sanitizer_flags_test.cpp | ||
sanitizer_format_interceptor_test.cpp | ||
sanitizer_ioctl_test.cpp | ||
sanitizer_libc_test.cpp | ||
sanitizer_linux_test.cpp | ||
sanitizer_list_test.cpp | ||
sanitizer_mutex_test.cpp | ||
sanitizer_nolibc_test.cpp | ||
sanitizer_nolibc_test_main.cpp | ||
sanitizer_posix_test.cpp | ||
sanitizer_printf_test.cpp | ||
sanitizer_procmaps_test.cpp | ||
sanitizer_pthread_wrappers.h | ||
sanitizer_quarantine_test.cpp | ||
sanitizer_ring_buffer_test.cpp | ||
sanitizer_stackdepot_test.cpp | ||
sanitizer_stacktrace_printer_test.cpp | ||
sanitizer_stacktrace_test.cpp | ||
sanitizer_stoptheworld_test.cpp | ||
sanitizer_stoptheworld_testlib.cpp | ||
sanitizer_suppressions_test.cpp | ||
sanitizer_symbolizer_test.cpp | ||
sanitizer_test_config.h | ||
sanitizer_test_main.cpp | ||
sanitizer_test_utils.h | ||
sanitizer_thread_registry_test.cpp | ||
sanitizer_type_traits_test.cpp | ||
sanitizer_vector_test.cpp | ||
standalone_malloc_test.cpp |