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  }