Commit e8738e98 by Ian Lance Taylor

syscall: Don't use PtraceRegs if it is not defined.

From-SVN: r183758
parent 458842fb
......@@ -139,14 +139,6 @@ func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) {
return ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data)
}
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)))
}
func PtraceSetOptions(pid int, options int) (err error) {
return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options))
}
......
......@@ -6,10 +6,20 @@
package syscall
import "unsafe"
func (r *PtraceRegs) PC() uint64 {
return uint64(uint32(r.Eip));
return uint64(uint32(r.Eip))
}
func (r *PtraceRegs) SetPC(pc uint64) {
r.Eip = int32(pc);
r.Eip = int32(pc)
}
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)))
}
......@@ -6,42 +6,52 @@
package syscall
import "unsafe"
type PtraceRegs struct {
R0 uint64
R1 uint64
R2 uint64
R3 uint64
R4 uint64
R5 uint64
R6 uint64
R7 uint64
R8 uint64
R19 uint64
R20 uint64
R21 uint64
R22 uint64
R23 uint64
R24 uint64
R25 uint64
R26 uint64
R27 uint64
R28 uint64
Hae uint64
R0 uint64
R1 uint64
R2 uint64
R3 uint64
R4 uint64
R5 uint64
R6 uint64
R7 uint64
R8 uint64
R19 uint64
R20 uint64
R21 uint64
R22 uint64
R23 uint64
R24 uint64
R25 uint64
R26 uint64
R27 uint64
R28 uint64
Hae uint64
Trap_a0 uint64
Trap_a1 uint64
Trap_a2 uint64
Ps uint64
Pc uint64
Gp uint64
R16 uint64
R17 uint64
R18 uint64
Ps uint64
Pc uint64
Gp uint64
R16 uint64
R17 uint64
R18 uint64
}
func (r *PtraceRegs) PC() uint64 {
return r.Pc;
return r.Pc
}
func (r *PtraceRegs) SetPC(pc uint64) {
r.Pc = pc;
r.Pc = pc
}
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)))
}
......@@ -6,10 +6,20 @@
package syscall
import "unsafe"
func (r *PtraceRegs) PC() uint64 {
return r.Rip;
return r.Rip
}
func (r *PtraceRegs) SetPC(pc uint64) {
r.Rip = pc;
r.Rip = pc
}
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)))
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment