diff --git a/proctl/threads_linux.go b/proctl/threads_linux.go index d629d1013a833fba89aa64f5a1cb6d25cc848b73..603a6cd86105de1eb5245ac4dc50af9b1d070bd0 100644 --- a/proctl/threads_linux.go +++ b/proctl/threads_linux.go @@ -50,24 +50,18 @@ func (t *ThreadContext) blocked() bool { return false } -func writeMemory(thread *ThreadContext, addr uintptr, data []byte) (int, error) { - return sys.PtracePokeData(thread.Id, addr, data) +func (thread *ThreadContext) saveRegisters() error { + return sys.PtraceGetRegs(thread.Id, &thread.os.registers) } -func readMemory(thread *ThreadContext, addr uintptr, data []byte) (int, error) { - return sys.PtracePeekData(thread.Id, addr, data) +func (thread *ThreadContext) restoreRegisters() error { + return sys.PtraceSetRegs(thread.Id, &thread.os.registers) } -func (thread *ThreadContext) saveRegisters() error { - var regs sys.PtraceRegs - err := sys.PtraceGetRegs(thread.Id, ®s) - if err != nil { - return err - } - thread.os.registers = regs - return nil +func writeMemory(thread *ThreadContext, addr uintptr, data []byte) (int, error) { + return sys.PtracePokeData(thread.Id, addr, data) } -func (thread *ThreadContext) restoreRegisters() error { - return sys.PtraceSetRegs(thread.Id, &thread.os.registers) +func readMemory(thread *ThreadContext, addr uintptr, data []byte) (int, error) { + return sys.PtracePeekData(thread.Id, addr, data) }