[compiler-rt] r369021 - [sanitizer_common] Always use posix_spawn on Darwin

Julian Lettner via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 15 10:25:10 PDT 2019


Author: yln
Date: Thu Aug 15 10:25:10 2019
New Revision: 369021

URL: http://llvm.org/viewvc/llvm-project?rev=369021&view=rev
Log:
[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

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp?rev=369021&r1=369020&r2=369021&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp Thu Aug 15 10:25:10 2019
@@ -238,7 +238,8 @@ const LoadedModule *Symbolizer::FindModu
 //   <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 {




More information about the llvm-commits mailing list