[Lldb-commits] [lldb] r241079 - [NativeProcessLinux] Refactor PtraceWrapper

Pavel Labath labath at google.com
Tue Jun 30 10:04:50 PDT 2015


Author: labath
Date: Tue Jun 30 12:04:49 2015
New Revision: 241079

URL: http://llvm.org/viewvc/llvm-project?rev=241079&view=rev
Log:
[NativeProcessLinux] Refactor PtraceWrapper

Summary:
This changes PtraceWrapper to return an Error, while the actual result is in an pointer parameter
(instead of the other way around). Also made a couple of PtraceWrapper arguments default to zero.
This arrangement makes a lot of the code much simpler.

Test Plan: Tests pass on linux. It compiles on android arm64/mips64.

Reviewers: chaoren, mohit.bhakkad

Subscribers: tberghammer, aemerson, lldb-commits

Differential Revision: http://reviews.llvm.org/D10808

Modified:
    lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp
    lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.h
    lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp
    lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
    lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp

Modified: lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp?rev=241079&r1=241078&r2=241079&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.cpp Tue Jun 30 12:04:49 2015
@@ -250,8 +250,7 @@ namespace
         assert(sizeof(data) >= word_size);
         for (bytes_read = 0; bytes_read < size; bytes_read += remainder)
         {
-            Error error;
-            data = NativeProcessLinux::PtraceWrapper(PTRACE_PEEKDATA, pid, (void*)vm_addr, nullptr, 0, error);
+            Error error = NativeProcessLinux::PtraceWrapper(PTRACE_PEEKDATA, pid, (void*)vm_addr, nullptr, 0, &data);
             if (error.Fail())
             {
                 if (log)
@@ -327,7 +326,8 @@ namespace
                     log->Printf ("NativeProcessLinux::%s() [%p]:0x%lx (0x%lx)", __FUNCTION__,
                             (void*)vm_addr, *(const unsigned long*)src, data);
 
-                if (NativeProcessLinux::PtraceWrapper(PTRACE_POKEDATA, pid, (void*)vm_addr, (void*)data, 0, error))
+                error = NativeProcessLinux::PtraceWrapper(PTRACE_POKEDATA, pid, (void*)vm_addr, (void*)data);
+                if (error.Fail())
                 {
                     if (log)
                         ProcessPOSIXLog::DecNestLevel();
@@ -1115,7 +1115,7 @@ NativeProcessLinux::Launch(LaunchArgs *a
         // send log info to parent re: launch status, in place of the log lines removed here.
 
         // Start tracing this child that is about to exec.
-        NativeProcessLinux::PtraceWrapper(PTRACE_TRACEME, 0, nullptr, nullptr, 0, error);
+        error = PtraceWrapper(PTRACE_TRACEME, 0);
         if (error.Fail())
             exit(ePtraceFailed);
 
@@ -1351,7 +1351,7 @@ NativeProcessLinux::Attach(lldb::pid_t p
 
                 // Attach to the requested process.
                 // An attach will cause the thread to stop with a SIGSTOP.
-                NativeProcessLinux::PtraceWrapper(PTRACE_ATTACH, tid, nullptr, nullptr, 0, error);
+                error = PtraceWrapper(PTRACE_ATTACH, tid);
                 if (error.Fail())
                 {
                     // No such thread. The thread may have exited.
@@ -1442,9 +1442,7 @@ NativeProcessLinux::SetDefaultPtraceOpts
     // (needed to disable legacy SIGTRAP generation)
     ptrace_opts |= PTRACE_O_TRACEEXEC;
 
-    Error error;
-    NativeProcessLinux::PtraceWrapper(PTRACE_SETOPTIONS, pid, nullptr, (void*)ptrace_opts, 0, error);
-    return error;
+    return PtraceWrapper(PTRACE_SETOPTIONS, pid, nullptr, (void*)ptrace_opts);
 }
 
 static ExitType convert_pid_status_to_exit_type (int status)
@@ -3173,11 +3171,7 @@ NativeProcessLinux::Resume (lldb::tid_t
     if (signo != LLDB_INVALID_SIGNAL_NUMBER)
         data = signo;
 
-    Error error = DoOperation([&] {
-        Error error;
-        NativeProcessLinux::PtraceWrapper(PTRACE_CONT, tid, nullptr, (void*)data, 0, error);
-        return error;
-    });
+    Error error = DoOperation([&] { return PtraceWrapper(PTRACE_CONT, tid, nullptr, (void*)data); });
 
     if (log)
         log->Printf ("NativeProcessLinux::%s() resuming thread = %"  PRIu64 " result = %s", __FUNCTION__, tid, error.Success() ? "true" : "false");
@@ -3192,31 +3186,19 @@ NativeProcessLinux::SingleStep(lldb::tid
     if (signo != LLDB_INVALID_SIGNAL_NUMBER)
         data = signo;
 
-    return DoOperation([&] {
-        Error error;
-        NativeProcessLinux::PtraceWrapper(PTRACE_SINGLESTEP, tid, nullptr, (void*)data, 0, error);
-        return error;
-    });
+    return DoOperation([&] { return PtraceWrapper(PTRACE_SINGLESTEP, tid, nullptr, (void*)data); });
 }
 
 Error
 NativeProcessLinux::GetSignalInfo(lldb::tid_t tid, void *siginfo)
 {
-    return DoOperation([&] {
-        Error error;
-        NativeProcessLinux::PtraceWrapper(PTRACE_GETSIGINFO, tid, nullptr, siginfo, 0, error);
-        return error;
-    });
+    return DoOperation([&] { return PtraceWrapper(PTRACE_GETSIGINFO, tid, nullptr, siginfo); });
 }
 
 Error
 NativeProcessLinux::GetEventMessage(lldb::tid_t tid, unsigned long *message)
 {
-    return DoOperation([&] {
-        Error error;
-        NativeProcessLinux::PtraceWrapper(PTRACE_GETEVENTMSG, tid, nullptr, message, 0, error);
-        return error;
-    });
+    return DoOperation([&] { return PtraceWrapper(PTRACE_GETEVENTMSG, tid, nullptr, message); });
 }
 
 Error
@@ -3225,11 +3207,7 @@ NativeProcessLinux::Detach(lldb::tid_t t
     if (tid == LLDB_INVALID_THREAD_ID)
         return Error();
 
-    return DoOperation([&] {
-        Error error;
-        NativeProcessLinux::PtraceWrapper(PTRACE_DETACH, tid, nullptr, 0, 0, error);
-        return error;
-    });
+    return DoOperation([&] { return PtraceWrapper(PTRACE_DETACH, tid); });
 }
 
 bool
@@ -3732,27 +3710,30 @@ NativeProcessLinux::DoOperation(const Op
 
 // Wrapper for ptrace to catch errors and log calls.
 // Note that ptrace sets errno on error because -1 can be a valid result (i.e. for PTRACE_PEEK*)
-long
-NativeProcessLinux::PtraceWrapper(int req, lldb::pid_t pid, void *addr, void *data, size_t data_size, Error& error)
+Error
+NativeProcessLinux::PtraceWrapper(int req, lldb::pid_t pid, void *addr, void *data, size_t data_size, long *result)
 {
-    long int result;
+    Error error;
+    long int ret;
 
     Log *log (ProcessPOSIXLog::GetLogIfAllCategoriesSet (POSIX_LOG_PTRACE));
 
     PtraceDisplayBytes(req, data, data_size);
 
-    error.Clear();
     errno = 0;
     if (req == PTRACE_GETREGSET || req == PTRACE_SETREGSET)
-        result = ptrace(static_cast<__ptrace_request>(req), static_cast< ::pid_t>(pid), *(unsigned int *)addr, data);
+        ret = ptrace(static_cast<__ptrace_request>(req), static_cast< ::pid_t>(pid), *(unsigned int *)addr, data);
     else
-        result = ptrace(static_cast<__ptrace_request>(req), static_cast< ::pid_t>(pid), addr, data);
+        ret = ptrace(static_cast<__ptrace_request>(req), static_cast< ::pid_t>(pid), addr, data);
 
-    if (result == -1)
+    if (ret == -1)
         error.SetErrorToErrno();
 
+    if (result)
+        *result = ret;
+
     if (log)
-        log->Printf("ptrace(%d, %" PRIu64 ", %p, %p, %zu)=%lX", req, pid, addr, data, data_size, result);
+        log->Printf("ptrace(%d, %" PRIu64 ", %p, %p, %zu)=%lX", req, pid, addr, data, data_size, ret);
 
     PtraceDisplayBytes(req, data, data_size);
 
@@ -3770,5 +3751,5 @@ NativeProcessLinux::PtraceWrapper(int re
         log->Printf("ptrace() failed; errno=%d (%s)", error.GetError(), str);
     }
 
-    return result;
+    return error;
 }

Modified: lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.h?rev=241079&r1=241078&r2=241079&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.h (original)
+++ lldb/trunk/source/Plugins/Process/Linux/NativeProcessLinux.h Tue Jun 30 12:04:49 2015
@@ -141,8 +141,13 @@ namespace process_linux {
         Error
         DoOperation(const Operation &op);
 
-        static long
-        PtraceWrapper(int req, lldb::pid_t pid, void *addr, void *data, size_t data_size, Error& error);
+        static Error
+        PtraceWrapper(int req,
+                      lldb::pid_t pid,
+                      void *addr = nullptr,
+                      void *data = nullptr,
+                      size_t data_size = 0,
+                      long *result = nullptr);
 
     protected:
         // ---------------------------------------------------------------------

Modified: lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp?rev=241079&r1=241078&r2=241079&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp Tue Jun 30 12:04:49 2015
@@ -196,10 +196,8 @@ NativeRegisterContextLinux::ReadRegister
     NativeProcessLinux* process_p = static_cast<NativeProcessLinux*>(process_sp.get());
 
     return process_p->DoOperation([&] {
-        Error error;
-        NativeProcessLinux::PtraceWrapper(PTRACE_GETREGSET, m_thread.GetID(),
-                static_cast<void *>(&regset), buf, buf_size, error);
-        return error;
+        return NativeProcessLinux::PtraceWrapper(PTRACE_GETREGSET, m_thread.GetID(),
+                static_cast<void *>(&regset), buf, buf_size);
     });
 }
 
@@ -212,10 +210,8 @@ NativeRegisterContextLinux::WriteRegiste
     NativeProcessLinux* process_p = static_cast<NativeProcessLinux*>(process_sp.get());
 
     return process_p->DoOperation([&] {
-        Error error;
-        NativeProcessLinux::PtraceWrapper(PTRACE_SETREGSET, m_thread.GetID(),
-                static_cast<void *>(&regset), buf, buf_size, error);
-        return error;
+        return NativeProcessLinux::PtraceWrapper(PTRACE_SETREGSET, m_thread.GetID(),
+                static_cast<void *>(&regset), buf, buf_size);
     });
 }
 
@@ -226,13 +222,13 @@ NativeRegisterContextLinux::DoReadRegist
                                                 RegisterValue &value)
 {
     Log *log (ProcessPOSIXLog::GetLogIfAllCategoriesSet (POSIX_LOG_REGISTERS));
-    Error error;
 
-    lldb::addr_t data = NativeProcessLinux::PtraceWrapper(
-            PTRACE_PEEKUSER, m_thread.GetID(), reinterpret_cast<void *>(offset), nullptr, 0, error);
+    long data;
+    Error error = NativeProcessLinux::PtraceWrapper(
+            PTRACE_PEEKUSER, m_thread.GetID(), reinterpret_cast<void *>(offset), nullptr, 0, &data);
 
     if (error.Success())
-        value = data;
+        value = static_cast<lldb::addr_t>(data);
 
     if (log)
         log->Printf ("NativeRegisterContextLinux::%s() reg %s: 0x%" PRIx64, __FUNCTION__, reg_name, data);
@@ -252,41 +248,30 @@ NativeRegisterContextLinux::DoWriteRegis
     if (log)
         log->Printf ("NativeRegisterContextLinux::%s() reg %s: %p", __FUNCTION__, reg_name, buf);
 
-    Error error;
-    NativeProcessLinux::PtraceWrapper(
-            PTRACE_POKEUSER, m_thread.GetID(), reinterpret_cast<void *>(offset), buf, 0, error);
-
-    return error;
+    return NativeProcessLinux::PtraceWrapper(
+            PTRACE_POKEUSER, m_thread.GetID(), reinterpret_cast<void *>(offset), buf);
 }
 
 Error
 NativeRegisterContextLinux::DoReadGPR(void *buf, size_t buf_size)
 {
-    Error error;
-    NativeProcessLinux::PtraceWrapper(PTRACE_GETREGS, m_thread.GetID(), nullptr, buf, buf_size, error);
-    return error;
+    return NativeProcessLinux::PtraceWrapper(PTRACE_GETREGS, m_thread.GetID(), nullptr, buf, buf_size);
 }
 
 Error
 NativeRegisterContextLinux::DoWriteGPR(void *buf, size_t buf_size)
 {
-    Error error;
-    NativeProcessLinux::PtraceWrapper(PTRACE_SETREGS, m_thread.GetID(), nullptr, buf, buf_size, error);
-    return error;
+    return NativeProcessLinux::PtraceWrapper(PTRACE_SETREGS, m_thread.GetID(), nullptr, buf, buf_size);
 }
 
 Error
 NativeRegisterContextLinux::DoReadFPR(void *buf, size_t buf_size)
 {
-    Error error;
-    NativeProcessLinux::PtraceWrapper(PTRACE_GETFPREGS, m_thread.GetID(), nullptr, buf, buf_size, error);
-    return error;
+    return NativeProcessLinux::PtraceWrapper(PTRACE_GETFPREGS, m_thread.GetID(), nullptr, buf, buf_size);
 }
 
 Error
 NativeRegisterContextLinux::DoWriteFPR(void *buf, size_t buf_size)
 {
-    Error error;
-    NativeProcessLinux::PtraceWrapper(PTRACE_SETFPREGS, m_thread.GetID(), nullptr, buf, buf_size, error);
-    return error;
+    return NativeProcessLinux::PtraceWrapper(PTRACE_SETFPREGS, m_thread.GetID(), nullptr, buf, buf_size);
 }

Modified: lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp?rev=241079&r1=241078&r2=241079&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp Tue Jun 30 12:04:49 2015
@@ -735,11 +735,11 @@ NativeRegisterContextLinux_arm64::ReadHa
 
         ioVec.iov_base = &dreg_state;
         ioVec.iov_len = sizeof (dreg_state);
-        NativeProcessLinux::PtraceWrapper(PTRACE_GETREGSET, tid, &regset, &ioVec, ioVec.iov_len, error);
+        error = NativeProcessLinux::PtraceWrapper(PTRACE_GETREGSET, tid, &regset, &ioVec, ioVec.iov_len);
         watch_count = dreg_state.dbg_info & 0xff;
 
         regset = NT_ARM_HW_BREAK;
-        NativeProcessLinux::PtraceWrapper(PTRACE_GETREGSET, tid, &regset, &ioVec, ioVec.iov_len, error);
+        error = NativeProcessLinux::PtraceWrapper(PTRACE_GETREGSET, tid, &regset, &ioVec, ioVec.iov_len);
         break_count = dreg_state.dbg_info & 0xff;
 
         return error;
@@ -777,8 +777,7 @@ NativeRegisterContextLinux_arm64::WriteH
             dreg_state.dbg_regs[i].ctrl = cntrl_buf[i];
         }
 
-        NativeProcessLinux::PtraceWrapper(PTRACE_SETREGSET, m_thread.GetID(), &type, &ioVec, ioVec.iov_len, error);
-        return error;
+        return NativeProcessLinux::PtraceWrapper(PTRACE_SETREGSET, m_thread.GetID(), &type, &ioVec, ioVec.iov_len);
     });
 }
 
@@ -803,8 +802,8 @@ NativeRegisterContextLinux_arm64::DoRead
 
         ioVec.iov_base = ®s;
         ioVec.iov_len = sizeof regs;
-        NativeProcessLinux::PtraceWrapper(
-                PTRACE_GETREGSET, m_thread.GetID(), &regset, &ioVec, sizeof regs, error);
+        error = NativeProcessLinux::PtraceWrapper(
+                PTRACE_GETREGSET, m_thread.GetID(), &regset, &ioVec, sizeof regs);
         if (error.Success())
         {
             ArchSpec arch;
@@ -822,8 +821,8 @@ NativeRegisterContextLinux_arm64::DoRead
 
         ioVec.iov_base = ®s;
         ioVec.iov_len = sizeof regs;
-        NativeProcessLinux::PtraceWrapper(
-                PTRACE_GETREGSET, m_thread.GetID(), &regset, &ioVec, sizeof regs, error);
+        error = NativeProcessLinux::PtraceWrapper(
+                PTRACE_GETREGSET, m_thread.GetID(), &regset, &ioVec, sizeof regs);
         if (error.Success())
         {
             ArchSpec arch;
@@ -857,12 +856,12 @@ NativeRegisterContextLinux_arm64::DoWrit
 
         ioVec.iov_base = ®s;
         ioVec.iov_len = sizeof regs;
-        NativeProcessLinux::PtraceWrapper( PTRACE_GETREGSET, tid, &regset, &ioVec, sizeof regs, error);
+        error = NativeProcessLinux::PtraceWrapper( PTRACE_GETREGSET, tid, &regset, &ioVec, sizeof regs);
 
         if (error.Success())
         {
             ::memcpy((void *)(((unsigned char *)(&regs)) + offset), value.GetBytes(), 16);
-            NativeProcessLinux::PtraceWrapper(PTRACE_SETREGSET, tid, &regset, &ioVec, sizeof regs, error);
+            error = NativeProcessLinux::PtraceWrapper(PTRACE_SETREGSET, tid, &regset, &ioVec, sizeof regs);
         }
     }
     else
@@ -873,11 +872,11 @@ NativeRegisterContextLinux_arm64::DoWrit
 
         ioVec.iov_base = ®s;
         ioVec.iov_len = sizeof regs;
-        NativeProcessLinux::PtraceWrapper(PTRACE_GETREGSET, tid, &regset, &ioVec, sizeof regs, error);
+        error = NativeProcessLinux::PtraceWrapper(PTRACE_GETREGSET, tid, &regset, &ioVec, sizeof regs);
         if (error.Success())
         {
             ::memcpy((void *)(((unsigned char *)(&regs)) + offset), value.GetBytes(), 8);
-            NativeProcessLinux::PtraceWrapper(PTRACE_SETREGSET, tid, &regset, &ioVec, sizeof regs, error);
+            error = NativeProcessLinux::PtraceWrapper(PTRACE_SETREGSET, tid, &regset, &ioVec, sizeof regs);
         }
     }
     return error;
@@ -892,8 +891,7 @@ NativeRegisterContextLinux_arm64::DoRead
 
     ioVec.iov_base = buf;
     ioVec.iov_len = buf_size;
-    NativeProcessLinux::PtraceWrapper(PTRACE_GETREGSET, m_thread.GetID(), &regset, &ioVec, buf_size, error);
-    return error;
+    return NativeProcessLinux::PtraceWrapper(PTRACE_GETREGSET, m_thread.GetID(), &regset, &ioVec, buf_size);
 }
 
 Error
@@ -905,8 +903,7 @@ NativeRegisterContextLinux_arm64::DoWrit
 
     ioVec.iov_base = buf;
     ioVec.iov_len = buf_size;
-    NativeProcessLinux::PtraceWrapper(PTRACE_SETREGSET, m_thread.GetID(), &regset, &ioVec, buf_size, error);
-    return error;
+    return NativeProcessLinux::PtraceWrapper(PTRACE_SETREGSET, m_thread.GetID(), &regset, &ioVec, buf_size);
 }
 
 Error
@@ -918,8 +915,7 @@ NativeRegisterContextLinux_arm64::DoRead
 
     ioVec.iov_base = buf;
     ioVec.iov_len = buf_size;
-    NativeProcessLinux::PtraceWrapper(PTRACE_GETREGSET, m_thread.GetID(), &regset, &ioVec, buf_size, error);
-    return error;
+    return NativeProcessLinux::PtraceWrapper(PTRACE_GETREGSET, m_thread.GetID(), &regset, &ioVec, buf_size);
 }
 
 Error
@@ -931,8 +927,7 @@ NativeRegisterContextLinux_arm64::DoWrit
 
     ioVec.iov_base = buf;
     ioVec.iov_len = buf_size;
-    NativeProcessLinux::PtraceWrapper(PTRACE_SETREGSET, m_thread.GetID(), &regset, &ioVec, buf_size, error);
-    return error;
+    return NativeProcessLinux::PtraceWrapper(PTRACE_SETREGSET, m_thread.GetID(), &regset, &ioVec, buf_size);
 }
 
 #endif // defined (__arm64__) || defined (__aarch64__)

Modified: lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp?rev=241079&r1=241078&r2=241079&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp (original)
+++ lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp Tue Jun 30 12:04:49 2015
@@ -1060,9 +1060,8 @@ NativeRegisterContextLinux_mips64::DoRea
                                                        uint32_t size,
                                                        RegisterValue &value)
 {
-    Error error;
     elf_gregset_t regs;
-    NativeProcessLinux::PtraceWrapper(PTRACE_GETREGS, m_thread.GetID(), NULL, &regs, sizeof regs, error);
+    Error error = NativeProcessLinux::PtraceWrapper(PTRACE_GETREGS, m_thread.GetID(), NULL, &regs, sizeof regs);
     if (error.Success())
     {
         lldb_private::ArchSpec arch;
@@ -1079,13 +1078,12 @@ NativeRegisterContextLinux_mips64::DoWri
                                                         const char* reg_name,
                                                         const RegisterValue &value)
 {
-    Error error;
     elf_gregset_t regs;
-    NativeProcessLinux::PtraceWrapper(PTRACE_GETREGS, m_thread.GetID(), NULL, &regs, sizeof regs, error);
+    Error error = NativeProcessLinux::PtraceWrapper(PTRACE_GETREGS, m_thread.GetID(), NULL, &regs, sizeof regs);
     if (error.Success())
     {
         ::memcpy((void *)(((unsigned char *)(&regs)) + offset), value.GetBytes(), 8);
-        NativeProcessLinux::PtraceWrapper(PTRACE_SETREGS, m_thread.GetID(), NULL, &regs, sizeof regs, error);
+        error = NativeProcessLinux::PtraceWrapper(PTRACE_SETREGS, m_thread.GetID(), NULL, &regs, sizeof regs);
     }
     return error;
 }
@@ -1093,19 +1091,13 @@ NativeRegisterContextLinux_mips64::DoWri
 Error
 NativeRegisterContextLinux_mips64::DoReadWatchPointRegisterValue(lldb::tid_t tid, void* watch_readback)
 {
-    Error error;
-    NativeProcessLinux::PtraceWrapper(
-            PTRACE_GET_WATCH_REGS, m_thread.GetID(), watch_readback, NULL, 0, error);
-    return error;
+    return NativeProcessLinux::PtraceWrapper( PTRACE_GET_WATCH_REGS, m_thread.GetID(), watch_readback);
 }
 
 Error
 NativeRegisterContextLinux_mips64::DoWriteWatchPointRegisterValue(lldb::tid_t tid, void* watch_reg_value)
 {
-    Error error;
-    NativeProcessLinux::PtraceWrapper(PTRACE_SET_WATCH_REGS,
-            m_thread.GetID(), watch_reg_value, NULL, 0, error);
-    return error;
+    return NativeProcessLinux::PtraceWrapper(PTRACE_SET_WATCH_REGS, m_thread.GetID(), watch_reg_value);
 }
 
 #endif // defined (__mips__)





More information about the lldb-commits mailing list