summaryrefslogtreecommitdiff
path: root/tools/debugserver/source
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-05-16 19:47:58 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-05-16 19:47:58 +0000
commitb76161e41bc2c07cd47f9c61f875d1be95e26d10 (patch)
treed03c19ce10dec6419f97df1d4dac9d47eb88982f /tools/debugserver/source
parent8b4000f13b303cc154136abc74c55670673e2a96 (diff)
Notes
Diffstat (limited to 'tools/debugserver/source')
-rw-r--r--tools/debugserver/source/DNBError.h2
-rw-r--r--tools/debugserver/source/JSON.cpp22
-rw-r--r--tools/debugserver/source/JSON.h2
-rw-r--r--tools/debugserver/source/MacOSX/MachException.cpp14
-rw-r--r--tools/debugserver/source/MacOSX/MachProcess.mm13
-rw-r--r--tools/debugserver/source/MacOSX/MachTask.mm20
-rw-r--r--tools/debugserver/source/MacOSX/MachThreadList.cpp2
-rw-r--r--tools/debugserver/source/MacOSX/MachVMMemory.cpp2
-rw-r--r--tools/debugserver/source/MacOSX/arm/DNBArchImpl.cpp4
-rw-r--r--tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp4
-rw-r--r--tools/debugserver/source/PseudoTerminal.cpp6
-rw-r--r--tools/debugserver/source/PseudoTerminal.h8
-rw-r--r--tools/debugserver/source/RNBContext.cpp2
-rw-r--r--tools/debugserver/source/RNBRemote.cpp2
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;