aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/defs_plan9_386.go
diff options
context:
space:
mode:
authorAnthony Martin <ality@pbrane.org>2014-12-18 05:05:44 -0800
committerAnthony Martin <ality@pbrane.org>2014-12-30 14:36:15 +0000
commit3d032d765318cea13b4aaae882135381cde0c11a (patch)
treed428f952af104ad9ba5781a91e8d5f48ebe91603 /src/runtime/defs_plan9_386.go
parentf3de21767e1ea12e9ec30fc1e9a1b60dfc6cb440 (diff)
downloadgo-3d032d765318cea13b4aaae882135381cde0c11a.tar.gz
go-3d032d765318cea13b4aaae882135381cde0c11a.zip
runtime: consolidate arch-specific signal handlers on Plan 9
Change-Id: I4379418853c523fc9aaeb5d6f37bc96117841418 Reviewed-on: https://go-review.googlesource.com/1786 Reviewed-by: David du Colombier <0intro@gmail.com> Reviewed-by: Aram Hăvărneanu <aram@mgk.ro>
Diffstat (limited to 'src/runtime/defs_plan9_386.go')
-rw-r--r--src/runtime/defs_plan9_386.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/runtime/defs_plan9_386.go b/src/runtime/defs_plan9_386.go
index 212ecdf14a..3574cb6654 100644
--- a/src/runtime/defs_plan9_386.go
+++ b/src/runtime/defs_plan9_386.go
@@ -23,3 +23,29 @@ type ureg struct {
sp uint32
ss uint32 /* old stack segment */
}
+
+type sigctxt struct {
+ u *ureg
+}
+
+func (c *sigctxt) pc() uintptr { return uintptr(c.u.pc) }
+func (c *sigctxt) sp() uintptr { return uintptr(c.u.sp) }
+
+func (c *sigctxt) setpc(x uintptr) { c.u.pc = uint32(x) }
+func (c *sigctxt) setsp(x uintptr) { c.u.sp = uint32(x) }
+
+func dumpregs(u *ureg) {
+ print("ax ", hex(u.ax), "\n")
+ print("bx ", hex(u.bx), "\n")
+ print("cx ", hex(u.cx), "\n")
+ print("dx ", hex(u.dx), "\n")
+ print("di ", hex(u.di), "\n")
+ print("si ", hex(u.si), "\n")
+ print("bp ", hex(u.bp), "\n")
+ print("sp ", hex(u.sp), "\n")
+ print("pc ", hex(u.pc), "\n")
+ print("flags ", hex(u.flags), "\n")
+ print("cs ", hex(u.cs), "\n")
+ print("fs ", hex(u.fs), "\n")
+ print("gs ", hex(u.gs), "\n")
+}