Changeset View
Changeset View
Standalone View
Standalone View
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cc
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | bool DlAddrSymbolizer::SymbolizeData(uptr addr, DataInfo *datainfo) { | ||||
datainfo->name = internal_strdup(demangled); | datainfo->name = internal_strdup(demangled); | ||||
datainfo->start = (uptr)info.dli_saddr; | datainfo->start = (uptr)info.dli_saddr; | ||||
return true; | return true; | ||||
} | } | ||||
class AtosSymbolizerProcess : public SymbolizerProcess { | class AtosSymbolizerProcess : public SymbolizerProcess { | ||||
public: | public: | ||||
explicit AtosSymbolizerProcess(const char *path, pid_t parent_pid) | explicit AtosSymbolizerProcess(const char *path, pid_t parent_pid) | ||||
: SymbolizerProcess(path, /*use_forkpty*/ true) { | : SymbolizerProcess(path, /*use_posix_spawn*/ true) { | ||||
vitalybuka: Do we have use_posix_spawn = false on mac anywhere? | |||||
ylnAuthorUnsubmitted We have LLVMSymbolizerProcess which doesn't specify it and therefore gets the default false. yln: We have `LLVMSymbolizerProcess` which doesn't specify it and therefore gets the default `false`. | |||||
// Put the string command line argument in the object so that it outlives | // Put the string command line argument in the object so that it outlives | ||||
// the call to GetArgV. | // the call to GetArgV. | ||||
internal_snprintf(pid_str_, sizeof(pid_str_), "%d", parent_pid); | internal_snprintf(pid_str_, sizeof(pid_str_), "%d", parent_pid); | ||||
} | } | ||||
private: | private: | ||||
bool ReachedEndOfOutput(const char *buffer, uptr length) const override { | bool ReachedEndOfOutput(const char *buffer, uptr length) const override { | ||||
return (length >= 1 && buffer[length - 1] == '\n'); | return (length >= 1 && buffer[length - 1] == '\n'); | ||||
▲ Show 20 Lines • Show All 107 Lines • Show Last 20 Lines |
Do we have use_posix_spawn = false on mac anywhere?