]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: implement (*PtraceRegs).PC() and SetPC()
authorShenghou Ma <minux.ma@gmail.com>
Thu, 25 Oct 2012 05:41:04 +0000 (13:41 +0800)
committerShenghou Ma <minux.ma@gmail.com>
Thu, 25 Oct 2012 05:41:04 +0000 (13:41 +0800)
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6763043

src/pkg/syscall/syscall_linux_arm.go

index 766cf37c6ca1cc2147a27a924b7e3e6cf344c7b3..547a4eb9bcf6636d5afbd71e4c61bafdbef7f344 100644 (file)
@@ -170,10 +170,9 @@ func Setrlimit(resource int, rlim *Rlimit) (err error) {
        return setrlimit(resource, &rl)
 }
 
-// TODO(kaib): add support for tracing
-func (r *PtraceRegs) PC() uint64 { return 0 }
+func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) }
 
-func (r *PtraceRegs) SetPC(pc uint64) {}
+func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) }
 
 func (iov *Iovec) SetLen(length int) {
        iov.Len = uint32(length)