mirror of git://gcc.gnu.org/git/gcc.git
syscall: Don't use PtraceRegs if it is not defined.
From-SVN: r183758
This commit is contained in:
parent
458842fb38
commit
e8738e985e
|
|
@ -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)
|
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) {
|
func PtraceSetOptions(pid int, options int) (err error) {
|
||||||
return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options))
|
return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,20 @@
|
||||||
|
|
||||||
package syscall
|
package syscall
|
||||||
|
|
||||||
|
import "unsafe"
|
||||||
|
|
||||||
func (r *PtraceRegs) PC() uint64 {
|
func (r *PtraceRegs) PC() uint64 {
|
||||||
return uint64(uint32(r.Eip));
|
return uint64(uint32(r.Eip))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *PtraceRegs) SetPC(pc uint64) {
|
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
|
package syscall
|
||||||
|
|
||||||
|
import "unsafe"
|
||||||
|
|
||||||
type PtraceRegs struct {
|
type PtraceRegs struct {
|
||||||
R0 uint64
|
R0 uint64
|
||||||
R1 uint64
|
R1 uint64
|
||||||
R2 uint64
|
R2 uint64
|
||||||
R3 uint64
|
R3 uint64
|
||||||
R4 uint64
|
R4 uint64
|
||||||
R5 uint64
|
R5 uint64
|
||||||
R6 uint64
|
R6 uint64
|
||||||
R7 uint64
|
R7 uint64
|
||||||
R8 uint64
|
R8 uint64
|
||||||
R19 uint64
|
R19 uint64
|
||||||
R20 uint64
|
R20 uint64
|
||||||
R21 uint64
|
R21 uint64
|
||||||
R22 uint64
|
R22 uint64
|
||||||
R23 uint64
|
R23 uint64
|
||||||
R24 uint64
|
R24 uint64
|
||||||
R25 uint64
|
R25 uint64
|
||||||
R26 uint64
|
R26 uint64
|
||||||
R27 uint64
|
R27 uint64
|
||||||
R28 uint64
|
R28 uint64
|
||||||
Hae uint64
|
Hae uint64
|
||||||
Trap_a0 uint64
|
Trap_a0 uint64
|
||||||
Trap_a1 uint64
|
Trap_a1 uint64
|
||||||
Trap_a2 uint64
|
Trap_a2 uint64
|
||||||
Ps uint64
|
Ps uint64
|
||||||
Pc uint64
|
Pc uint64
|
||||||
Gp uint64
|
Gp uint64
|
||||||
R16 uint64
|
R16 uint64
|
||||||
R17 uint64
|
R17 uint64
|
||||||
R18 uint64
|
R18 uint64
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *PtraceRegs) PC() uint64 {
|
func (r *PtraceRegs) PC() uint64 {
|
||||||
return r.Pc;
|
return r.Pc
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *PtraceRegs) SetPC(pc uint64) {
|
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
|
package syscall
|
||||||
|
|
||||||
|
import "unsafe"
|
||||||
|
|
||||||
func (r *PtraceRegs) PC() uint64 {
|
func (r *PtraceRegs) PC() uint64 {
|
||||||
return r.Rip;
|
return r.Rip
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *PtraceRegs) SetPC(pc uint64) {
|
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)))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue