diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-05-16 19:47:58 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-05-16 19:47:58 +0000 |
commit | b76161e41bc2c07cd47f9c61f875d1be95e26d10 (patch) | |
tree | d03c19ce10dec6419f97df1d4dac9d47eb88982f /tools/debugserver/source | |
parent | 8b4000f13b303cc154136abc74c55670673e2a96 (diff) |
Notes
Diffstat (limited to 'tools/debugserver/source')
-rw-r--r-- | tools/debugserver/source/DNBError.h | 2 | ||||
-rw-r--r-- | tools/debugserver/source/JSON.cpp | 22 | ||||
-rw-r--r-- | tools/debugserver/source/JSON.h | 2 | ||||
-rw-r--r-- | tools/debugserver/source/MacOSX/MachException.cpp | 14 | ||||
-rw-r--r-- | tools/debugserver/source/MacOSX/MachProcess.mm | 13 | ||||
-rw-r--r-- | tools/debugserver/source/MacOSX/MachTask.mm | 20 | ||||
-rw-r--r-- | tools/debugserver/source/MacOSX/MachThreadList.cpp | 2 | ||||
-rw-r--r-- | tools/debugserver/source/MacOSX/MachVMMemory.cpp | 2 | ||||
-rw-r--r-- | tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp | 4 | ||||
-rw-r--r-- | tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp | 4 | ||||
-rw-r--r-- | tools/debugserver/source/PseudoTerminal.cpp | 6 | ||||
-rw-r--r-- | tools/debugserver/source/PseudoTerminal.h | 8 | ||||
-rw-r--r-- | tools/debugserver/source/RNBContext.cpp | 2 | ||||
-rw-r--r-- | tools/debugserver/source/RNBRemote.cpp | 2 |
14 files changed, 52 insertions, 51 deletions
diff --git a/tools/debugserver/source/DNBError.h b/tools/debugserver/source/DNBError.h index edca38ad6db78..419f4b9492edd 100644 --- a/tools/debugserver/source/DNBError.h +++ b/tools/debugserver/source/DNBError.h @@ -49,7 +49,7 @@ public: m_flavor = Generic; m_str.clear(); } - ValueType Error() const { return m_err; } + ValueType Status() const { return m_err; } FlavorType Flavor() const { return m_flavor; } ValueType operator=(kern_return_t err) { diff --git a/tools/debugserver/source/JSON.cpp b/tools/debugserver/source/JSON.cpp index 19ebfd000f517..c914f2498f099 100644 --- a/tools/debugserver/source/JSON.cpp +++ b/tools/debugserver/source/JSON.cpp @@ -282,7 +282,7 @@ JSONParser::Token JSONParser::GetToken(std::string &value) { error << "error: an error occurred getting a character from offset " << start_index; value = error.str(); - return Token::Error; + return Token::Status; } else { const bool is_end_quote = escaped_ch == '"'; @@ -296,13 +296,13 @@ JSONParser::Token JSONParser::GetToken(std::string &value) { << std::setprecision(4) << std::hex << escaped_ch; error << " at offset " << start_index; value = error.str(); - return Token::Error; + return Token::Status; } } else if (is_end_quote) { return Token::String; } else if (is_null) { value = "error: missing end quote for string"; - return Token::Error; + return Token::Status; } } } @@ -352,7 +352,7 @@ JSONParser::Token JSONParser::GetToken(std::string &value) { if (got_decimal_point) { error << "error: extra decimal point found at offset " << start_index; value = error.str(); - return Token::Error; + return Token::Status; } else { got_decimal_point = true; ++m_index; // Skip this character @@ -365,7 +365,7 @@ JSONParser::Token JSONParser::GetToken(std::string &value) { error << "error: extra exponent character found at offset " << start_index; value = error.str(); - return Token::Error; + return Token::Status; } else { exp_index = m_index; ++m_index; // Skip this character @@ -381,7 +381,7 @@ JSONParser::Token JSONParser::GetToken(std::string &value) { error << "error: unexpected " << next_ch << " character at offset " << start_index; value = error.str(); - return Token::Error; + return Token::Status; } break; @@ -403,7 +403,7 @@ JSONParser::Token JSONParser::GetToken(std::string &value) { "offset in float value \"" << value.c_str() << "\""; value = error.str(); - return Token::Error; + return Token::Status; } } else { // No exponent, but we need at least one decimal after the decimal @@ -414,7 +414,7 @@ JSONParser::Token JSONParser::GetToken(std::string &value) { error << "error: no digits after decimal point \"" << value.c_str() << "\""; value = error.str(); - return Token::Error; + return Token::Status; } } } else { @@ -425,13 +425,13 @@ JSONParser::Token JSONParser::GetToken(std::string &value) { } else { error << "error: no digits negate sign \"" << value.c_str() << "\""; value = error.str(); - return Token::Error; + return Token::Status; } } } else { error << "error: invalid number found at offset " << start_index; value = error.str(); - return Token::Error; + return Token::Status; } } break; default: @@ -440,7 +440,7 @@ JSONParser::Token JSONParser::GetToken(std::string &value) { error << "error: failed to parse token at offset " << start_index << " (around character '" << ch << "')"; value = error.str(); - return Token::Error; + return Token::Status; } int JSONParser::GetEscapedChar(bool &was_escaped) { diff --git a/tools/debugserver/source/JSON.h b/tools/debugserver/source/JSON.h index eee62f4533279..252ff021f912c 100644 --- a/tools/debugserver/source/JSON.h +++ b/tools/debugserver/source/JSON.h @@ -270,7 +270,7 @@ class JSONParser : public StdStringExtractor { public: enum Token { Invalid, - Error, + Status, ObjectStart, ObjectEnd, ArrayStart, diff --git a/tools/debugserver/source/MacOSX/MachException.cpp b/tools/debugserver/source/MacOSX/MachException.cpp index f6e778232b82f..5f085867db2cd 100644 --- a/tools/debugserver/source/MacOSX/MachException.cpp +++ b/tools/debugserver/source/MacOSX/MachException.cpp @@ -267,7 +267,7 @@ kern_return_t MachException::Message::Receive(mach_port_t port, exc_msg.hdr.msgh_reserved, exc_msg.hdr.msgh_id, options, 0, sizeof(exc_msg.data), port, mach_msg_timeout, notify_port); } - return err.Error(); + return err.Status(); } bool MachException::Message::CatchExceptionRaise(task_t task) { @@ -349,7 +349,7 @@ kern_return_t MachException::Message::Reply(MachProcess *process, int signal) { MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); if (err.Fail()) { - if (err.Error() == MACH_SEND_INTERRUPTED) { + if (err.Status() == MACH_SEND_INTERRUPTED) { if (DNBLogCheckLogBit(LOG_EXCEPTIONS)) err.LogThreaded("::mach_msg() - send interrupted"); // TODO: keep retrying to reply??? @@ -357,7 +357,7 @@ kern_return_t MachException::Message::Reply(MachProcess *process, int signal) { if (state.task_port == process->Task().TaskPort()) { DNBLogThreaded("error: mach_msg() returned an error when replying to a " "mach exception: error = %u", - err.Error()); + err.Status()); } else { if (DNBLogCheckLogBit(LOG_EXCEPTIONS)) err.LogThreaded("::mach_msg() - failed (child of task)"); @@ -365,7 +365,7 @@ kern_return_t MachException::Message::Reply(MachProcess *process, int signal) { } } - return err.Error(); + return err.Status(); } void MachException::Data::Dump() const { @@ -430,7 +430,7 @@ kern_return_t MachException::PortInfo::Save(task_t task) { "maskCnt => %u, ports, behaviors, flavors )", task, mask, count); - if (err.Error() == KERN_INVALID_ARGUMENT && mask != PREV_EXC_MASK_ALL) { + if (err.Status() == KERN_INVALID_ARGUMENT && mask != PREV_EXC_MASK_ALL) { mask = PREV_EXC_MASK_ALL; count = (sizeof(ports) / sizeof(ports[0])); err = ::task_get_exception_ports(task, mask, masks, &count, ports, @@ -444,7 +444,7 @@ kern_return_t MachException::PortInfo::Save(task_t task) { mask = 0; count = 0; } - return err.Error(); + return err.Status(); } kern_return_t MachException::PortInfo::Restore(task_t task) { @@ -469,7 +469,7 @@ kern_return_t MachException::PortInfo::Restore(task_t task) { } } count = 0; - return err.Error(); + return err.Status(); } const char *MachException::Name(exception_type_t exc_type) { diff --git a/tools/debugserver/source/MacOSX/MachProcess.mm b/tools/debugserver/source/MacOSX/MachProcess.mm index 0daaca1db37ef..a93f724849b82 100644 --- a/tools/debugserver/source/MacOSX/MachProcess.mm +++ b/tools/debugserver/source/MacOSX/MachProcess.mm @@ -1215,7 +1215,7 @@ bool MachProcess::Kill(const struct timespec *timeout_abstime) { err.SetErrorToErrno(); DNBLogThreadedIf(LOG_PROCESS, "MachProcess::Kill() DoSIGSTOP() ::ptrace " "(PT_KILL, pid=%u, 0, 0) => 0x%8.8x (%s)", - m_pid, err.Error(), err.AsString()); + m_pid, err.Status(), err.AsString()); m_thread_actions = DNBThreadResumeActions(eStateRunning, 0); PrivateResume(); @@ -2970,7 +2970,8 @@ pid_t MachProcess::LaunchForDebug( DNBError ptrace_err(errno, DNBError::POSIX); DNBLogThreadedIf(LOG_PROCESS, "error: failed to attach to spawned pid " "%d (err = %i, errno = %i (%s))", - m_pid, err, ptrace_err.Error(), ptrace_err.AsString()); + m_pid, err, ptrace_err.Status(), + ptrace_err.AsString()); launch_err.SetError(NUB_GENERIC_ERROR, DNBError::Generic); } } else { @@ -3181,7 +3182,7 @@ pid_t MachProcess::ForkChildForPTraceDebugging(const char *path, char const *envp[], MachProcess *process, DNBError &launch_err) { - PseudoTerminal::Error pty_error = PseudoTerminal::success; + PseudoTerminal::Status pty_error = PseudoTerminal::success; // Use a fork that ties the child process's stdin/out/err to a pseudo // terminal so we can read it in our MachProcess::STDIOThread @@ -3191,7 +3192,7 @@ pid_t MachProcess::ForkChildForPTraceDebugging(const char *path, if (pid < 0) { //-------------------------------------------------------------- - // Error during fork. + // Status during fork. //-------------------------------------------------------------- return pid; } else if (pid == 0) { @@ -3406,7 +3407,7 @@ pid_t MachProcess::SBForkChildForPTraceDebugging( PseudoTerminal pty; if (!no_stdio) { - PseudoTerminal::Error pty_err = + PseudoTerminal::Status pty_err = pty.OpenFirstAvailableMaster(O_RDWR | O_NOCTTY); if (pty_err == PseudoTerminal::success) { const char *slave_name = pty.SlaveName(); @@ -3607,7 +3608,7 @@ pid_t MachProcess::BoardServiceForkChildForPTraceDebugging( PseudoTerminal pty; if (!no_stdio) { - PseudoTerminal::Error pty_err = + PseudoTerminal::Status pty_err = pty.OpenFirstAvailableMaster(O_RDWR | O_NOCTTY); if (pty_err == PseudoTerminal::success) { const char *slave_name = pty.SlaveName(); diff --git a/tools/debugserver/source/MacOSX/MachTask.mm b/tools/debugserver/source/MacOSX/MachTask.mm index 37897a5a6acd7..bd7047ecdff77 100644 --- a/tools/debugserver/source/MacOSX/MachTask.mm +++ b/tools/debugserver/source/MacOSX/MachTask.mm @@ -88,7 +88,7 @@ kern_return_t MachTask::Suspend() { err = ::task_suspend(task); if (DNBLogCheckLogBit(LOG_TASK) || err.Fail()) err.LogThreaded("::task_suspend ( target_task = 0x%4.4x )", task); - return err.Error(); + return err.Status(); } //---------------------------------------------------------------------- @@ -113,7 +113,7 @@ kern_return_t MachTask::Resume() { err.LogThreaded("::task_resume ( target_task = 0x%4.4x )", task); } } - return err.Error(); + return err.Status(); } //---------------------------------------------------------------------- @@ -531,7 +531,7 @@ task_t MachTask::TaskPortForProcessID(pid_t pid, DNBError &err, char str[1024]; ::snprintf(str, sizeof(str), "::task_for_pid ( target_tport = 0x%4.4x, " "pid = %d, &task ) => err = 0x%8.8x (%s)", - task_self, pid, err.Error(), + task_self, pid, err.Status(), err.AsString() ? err.AsString() : "success"); if (err.Fail()) err.SetErrorString(str); @@ -583,7 +583,7 @@ kern_return_t MachTask::BasicInfo(task_t task, struct task_basic_info *info) { info->suspend_count, (uint64_t)info->virtual_size, (uint64_t)info->resident_size, user, system); } - return err.Error(); + return err.Status(); } //---------------------------------------------------------------------- @@ -687,7 +687,7 @@ kern_return_t MachTask::ShutDownExcecptionThread() { err.LogThreaded("::mach_port_deallocate ( task = 0x%4.4x, name = 0x%4.4x )", task_self, exception_port); - return err.Error(); + return err.Status(); } void *MachTask::ExceptionThread(void *arg) { @@ -805,7 +805,7 @@ void *MachTask::ExceptionThread(void *arg) { MACH_RCV_MSG | MACH_RCV_INTERRUPT, 0); } - if (err.Error() == MACH_RCV_INTERRUPTED) { + if (err.Status() == MACH_RCV_INTERRUPTED) { // If we have no task port we should exit this thread if (!mach_task->ExceptionPortIsValid()) { DNBLogThreadedIf(LOG_EXCEPTIONS, "thread cancelled..."); @@ -824,7 +824,7 @@ void *MachTask::ExceptionThread(void *arg) { // Our task has died, exit the thread. break; } - } else if (err.Error() == MACH_RCV_TIMED_OUT) { + } else if (err.Status() == MACH_RCV_TIMED_OUT) { if (num_exceptions_received > 0) { // We were receiving all current exceptions with a timeout of zero // it is time to go back to our normal looping mode @@ -860,7 +860,7 @@ void *MachTask::ExceptionThread(void *arg) { } } #endif - } else if (err.Error() != KERN_SUCCESS) { + } else if (err.Status() != KERN_SUCCESS) { DNBLogThreadedIf(LOG_EXCEPTIONS, "got some other error, do something " "about it??? nah, continuing for " "now..."); @@ -947,7 +947,7 @@ nub_addr_t MachTask::AllocateMemory(size_t size, uint32_t permissions) { DNBError err; err = ::mach_vm_allocate(task, &addr, size, TRUE); - if (err.Error() == KERN_SUCCESS) { + if (err.Status() == KERN_SUCCESS) { // Set the protections: vm_prot_t mach_prot = VM_PROT_NONE; if (permissions & eMemoryPermissionsReadable) @@ -958,7 +958,7 @@ nub_addr_t MachTask::AllocateMemory(size_t size, uint32_t permissions) { mach_prot |= VM_PROT_EXECUTE; err = ::mach_vm_protect(task, addr, size, 0, mach_prot); - if (err.Error() == KERN_SUCCESS) { + if (err.Status() == KERN_SUCCESS) { m_allocations.insert(std::make_pair(addr, size)); return addr; } diff --git a/tools/debugserver/source/MacOSX/MachThreadList.cpp b/tools/debugserver/source/MacOSX/MachThreadList.cpp index cf0e205b349ac..05e9627b591b7 100644 --- a/tools/debugserver/source/MacOSX/MachThreadList.cpp +++ b/tools/debugserver/source/MacOSX/MachThreadList.cpp @@ -294,7 +294,7 @@ MachThreadList::UpdateThreadList(MachProcess *process, bool update, "thread_list_count => %u )", task, thread_list, thread_list_count); - if (err.Error() == KERN_SUCCESS && thread_list_count > 0) { + if (err.Status() == KERN_SUCCESS && thread_list_count > 0) { MachThreadList::collection currThreads; size_t idx; // Iterator through the current thread list and see which threads diff --git a/tools/debugserver/source/MacOSX/MachVMMemory.cpp b/tools/debugserver/source/MacOSX/MachVMMemory.cpp index 76806ab1cc175..12f16ccb9f538 100644 --- a/tools/debugserver/source/MacOSX/MachVMMemory.cpp +++ b/tools/debugserver/source/MacOSX/MachVMMemory.cpp @@ -501,7 +501,7 @@ nub_size_t MachVMMemory::Write(task_t task, nub_addr_t address, nub_size_t bytes_written = WriteRegion(task, curr_addr, curr_data, curr_data_count); if (bytes_written <= 0) { - // Error should have already be posted by WriteRegion... + // Status should have already be posted by WriteRegion... break; } else { total_bytes_written += bytes_written; diff --git a/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp b/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp index 175aab1ae3faa..2841ddb110816 100644 --- a/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp +++ b/tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp @@ -696,14 +696,14 @@ kern_return_t DNBArchMachARM::EnableHardwareSingleStep(bool enable) { if (err.Fail()) { err.LogThreaded("%s: failed to read the GPR registers", __FUNCTION__); - return err.Error(); + return err.Status(); } err = GetDBGState(false); if (err.Fail()) { err.LogThreaded("%s: failed to read the DBG registers", __FUNCTION__); - return err.Error(); + return err.Status(); } // The use of __arm64__ here is not ideal. If debugserver is running on diff --git a/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp b/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp index 7d04170623d14..51bc5aaee5bb6 100644 --- a/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp +++ b/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp @@ -546,14 +546,14 @@ kern_return_t DNBArchMachARM64::EnableHardwareSingleStep(bool enable) { if (err.Fail()) { err.LogThreaded("%s: failed to read the GPR registers", __FUNCTION__); - return err.Error(); + return err.Status(); } err = GetDBGState(false); if (err.Fail()) { err.LogThreaded("%s: failed to read the DBG registers", __FUNCTION__); - return err.Error(); + return err.Status(); } if (enable) { diff --git a/tools/debugserver/source/PseudoTerminal.cpp b/tools/debugserver/source/PseudoTerminal.cpp index 616aec989c82d..892574a61dcff 100644 --- a/tools/debugserver/source/PseudoTerminal.cpp +++ b/tools/debugserver/source/PseudoTerminal.cpp @@ -65,7 +65,7 @@ void PseudoTerminal::CloseSlave() { // RETURNS: // Zero when successful, non-zero indicating an error occurred. //---------------------------------------------------------------------- -PseudoTerminal::Error PseudoTerminal::OpenFirstAvailableMaster(int oflag) { +PseudoTerminal::Status PseudoTerminal::OpenFirstAvailableMaster(int oflag) { // Open the master side of a pseudo terminal m_master_fd = ::posix_openpt(oflag); if (m_master_fd < 0) { @@ -97,7 +97,7 @@ PseudoTerminal::Error PseudoTerminal::OpenFirstAvailableMaster(int oflag) { // RETURNS: // Zero when successful, non-zero indicating an error occurred. //---------------------------------------------------------------------- -PseudoTerminal::Error PseudoTerminal::OpenSlave(int oflag) { +PseudoTerminal::Status PseudoTerminal::OpenSlave(int oflag) { CloseSlave(); // Open the master side of a pseudo terminal @@ -153,7 +153,7 @@ const char *PseudoTerminal::SlaveName() const { // in the child process: zero //---------------------------------------------------------------------- -pid_t PseudoTerminal::Fork(PseudoTerminal::Error &error) { +pid_t PseudoTerminal::Fork(PseudoTerminal::Status &error) { pid_t pid = invalid_pid; error = OpenFirstAvailableMaster(O_RDWR | O_NOCTTY); diff --git a/tools/debugserver/source/PseudoTerminal.h b/tools/debugserver/source/PseudoTerminal.h index 409c78ff5e31e..f6b71f8909a6c 100644 --- a/tools/debugserver/source/PseudoTerminal.h +++ b/tools/debugserver/source/PseudoTerminal.h @@ -22,7 +22,7 @@ class PseudoTerminal { public: enum { invalid_fd = -1, invalid_pid = -1 }; - enum Error { + enum Status { success = 0, err_posix_openpt_failed = -2, err_grantpt_failed = -3, @@ -44,8 +44,8 @@ public: void CloseMaster(); void CloseSlave(); - Error OpenFirstAvailableMaster(int oflag); - Error OpenSlave(int oflag); + Status OpenFirstAvailableMaster(int oflag); + Status OpenSlave(int oflag); int MasterFD() const { return m_master_fd; } int SlaveFD() const { return m_slave_fd; } int ReleaseMasterFD() { @@ -67,7 +67,7 @@ public: const char *SlaveName() const; - pid_t Fork(Error &error); + pid_t Fork(Status &error); protected: //------------------------------------------------------------------ diff --git a/tools/debugserver/source/RNBContext.cpp b/tools/debugserver/source/RNBContext.cpp index 483cdf9a486a4..c1319af023228 100644 --- a/tools/debugserver/source/RNBContext.cpp +++ b/tools/debugserver/source/RNBContext.cpp @@ -266,7 +266,7 @@ const char *RNBContext::LaunchStatusAsString(std::string &s) { else { char error_num_str[64]; snprintf(error_num_str, sizeof(error_num_str), "%u", - m_launch_status.Error()); + m_launch_status.Status()); s = error_num_str; } return s.c_str(); diff --git a/tools/debugserver/source/RNBRemote.cpp b/tools/debugserver/source/RNBRemote.cpp index 94260c6192937..038142a0351e3 100644 --- a/tools/debugserver/source/RNBRemote.cpp +++ b/tools/debugserver/source/RNBRemote.cpp @@ -1628,7 +1628,7 @@ rnb_err_t RNBRemote::HandlePacket_H(const char *p) { } rnb_err_t RNBRemote::HandlePacket_qLaunchSuccess(const char *p) { - if (m_ctx.HasValidProcessID() || m_ctx.LaunchStatus().Error() == 0) + if (m_ctx.HasValidProcessID() || m_ctx.LaunchStatus().Status() == 0) return SendPacket("OK"); std::ostringstream ret_str; std::string status_str; |