2012-03-27 23:13:14 +00:00
|
|
|
// syscall_linux_386.go -- GNU/Linux 386 specific support
|
|
|
|
|
|
|
|
// Copyright 2009 The Go Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
2015-08-28 15:33:40 +00:00
|
|
|
// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP)
|
|
|
|
// so that go vet can check that they are correct.
|
|
|
|
|
2012-03-27 23:13:14 +00:00
|
|
|
package syscall
|
|
|
|
|
|
|
|
import "unsafe"
|
|
|
|
|
2014-09-21 17:33:12 +00:00
|
|
|
func (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) }
|
2012-03-27 23:13:14 +00:00
|
|
|
|
2014-09-21 17:33:12 +00:00
|
|
|
func (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) }
|
2012-03-27 23:13:14 +00:00
|
|
|
|
|
|
|
func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {
|
|
|
|
return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
|
|
|
|
}
|
|
|
|
|
|
|
|
func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) {
|
|
|
|
return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
|
|
|
|
}
|
2018-12-28 15:30:48 +00:00
|
|
|
|
|
|
|
func rawVforkSyscall(trap, a1 uintptr) (r1 uintptr, err Errno) {
|
|
|
|
panic("not implemented")
|
|
|
|
}
|