[sanitizer_common] Always use posix_spawn on Darwin
On Darwin we have two external symbolizers: atos and llvm-symbolizer.
atos was changed to use posix_spawn (instead of fork+execv) in a
previous commit [1]. Let's use posix_spawn for llvm-symbolizer as well.
Our hope is that eventually we can transition to posix_spawn on other
platforms too.
[1] 399408a92f1dbbefeb708f718b0d8eb62dfa9f09
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@369021 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp b/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
index 9586aa0..3b19a68 100644
--- a/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
+++ b/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
@@ -238,7 +238,8 @@
// <empty line>
class LLVMSymbolizerProcess : public SymbolizerProcess {
public:
- explicit LLVMSymbolizerProcess(const char *path) : SymbolizerProcess(path) {}
+ explicit LLVMSymbolizerProcess(const char *path)
+ : SymbolizerProcess(path, /*use_posix_spawn=*/SANITIZER_MAC) {}
private:
bool ReachedEndOfOutput(const char *buffer, uptr length) const override {