github.com/llvm-mirror/llgo@v0.0.0-20190322182713-bf6f0a60fce1/third_party/gofrontend/libgo/go/syscall/syscall_linux_alpha.go (about) 1 // syscall_linux_alpha.go -- GNU/Linux ALPHA specific support 2 3 // Copyright 2011 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 package syscall 8 9 import "unsafe" 10 11 type PtraceRegs struct { 12 R0 uint64 13 R1 uint64 14 R2 uint64 15 R3 uint64 16 R4 uint64 17 R5 uint64 18 R6 uint64 19 R7 uint64 20 R8 uint64 21 R19 uint64 22 R20 uint64 23 R21 uint64 24 R22 uint64 25 R23 uint64 26 R24 uint64 27 R25 uint64 28 R26 uint64 29 R27 uint64 30 R28 uint64 31 Hae uint64 32 Trap_a0 uint64 33 Trap_a1 uint64 34 Trap_a2 uint64 35 Ps uint64 36 Pc uint64 37 Gp uint64 38 R16 uint64 39 R17 uint64 40 R18 uint64 41 } 42 43 func (r *PtraceRegs) PC() uint64 { 44 return r.Pc 45 } 46 47 func (r *PtraceRegs) SetPC(pc uint64) { 48 r.Pc = pc 49 } 50 51 func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) { 52 return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) 53 } 54 55 func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) { 56 return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) 57 }