mirror of
https://github.com/rwinkhart/sys.git
synced 2026-08-30 22:06:37 -04:00
For pairs of GOARCH values that can execute each other's binaries on the same system, such as 386 and amd64, add the definitions and functions required to fetch and set registers when debugging either variant. Fixes golang/go#9739 Change-Id: I7896ddef7d341ffaee56614ebd080dc38c708ed4 Reviewed-on: https://go-review.googlesource.com/73555 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
51 lines
1.4 KiB
Go
51 lines
1.4 KiB
Go
// Code generated by linux/mkall.go generatePtracePair(mipsle, mips64le). DO NOT EDIT.
|
|
|
|
// +build linux
|
|
// +build mipsle mips64le
|
|
|
|
package unix
|
|
|
|
import "unsafe"
|
|
|
|
// PtraceRegsMipsle is the registers used by mipsle binaries.
|
|
type PtraceRegsMipsle struct {
|
|
Regs [32]uint64
|
|
Lo uint64
|
|
Hi uint64
|
|
Epc uint64
|
|
Badvaddr uint64
|
|
Status uint64
|
|
Cause uint64
|
|
}
|
|
|
|
// PtraceGetRegsMipsle fetches the registers used by mipsle binaries.
|
|
func PtraceGetRegsMipsle(pid int, regsout *PtraceRegsMipsle) error {
|
|
return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
|
|
}
|
|
|
|
// PtraceSetRegsMipsle sets the registers used by mipsle binaries.
|
|
func PtraceSetRegsMipsle(pid int, regs *PtraceRegsMipsle) error {
|
|
return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
|
|
}
|
|
|
|
// PtraceRegsMips64le is the registers used by mips64le binaries.
|
|
type PtraceRegsMips64le struct {
|
|
Regs [32]uint64
|
|
Lo uint64
|
|
Hi uint64
|
|
Epc uint64
|
|
Badvaddr uint64
|
|
Status uint64
|
|
Cause uint64
|
|
}
|
|
|
|
// PtraceGetRegsMips64le fetches the registers used by mips64le binaries.
|
|
func PtraceGetRegsMips64le(pid int, regsout *PtraceRegsMips64le) error {
|
|
return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
|
|
}
|
|
|
|
// PtraceSetRegsMips64le sets the registers used by mips64le binaries.
|
|
func PtraceSetRegsMips64le(pid int, regs *PtraceRegsMips64le) error {
|
|
return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
|
|
}
|