blob: 713546cb0579dc7ed666a99c96d84ac37a4db788 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
// syscall_linux_alpha.go -- GNU/Linux ALPHA specific support
// Copyright 2011 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.
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
Trap_a0 uint64
Trap_a1 uint64
Trap_a2 uint64
Ps uint64
Pc uint64
Gp uint64
R16 uint64
R17 uint64
R18 uint64
}
func (r *PtraceRegs) PC() uint64 {
return r.Pc
}
func (r *PtraceRegs) SetPC(pc uint64) {
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)))
}
|