github.com/llvm-mirror/llgo@v0.0.0-20190322182713-bf6f0a60fce1/third_party/gofrontend/libgo/go/syscall/syscall_linux_386.go (about) 1 // syscall_linux_386.go -- GNU/Linux 386 specific support 2 3 // Copyright 2009 The Go Authors. All rights reserved. 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file. 6 7 // TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP) 8 // so that go vet can check that they are correct. 9 10 package syscall 11 12 import "unsafe" 13 14 func (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) } 15 16 func (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) } 17 18 func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) { 19 return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) 20 } 21 22 func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) { 23 return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) 24 }