aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/signal_solaris_amd64.go
diff options
context:
space:
mode:
authorAram Hăvărneanu <aram@mgk.ro>2014-11-14 14:25:49 +0100
committerAram Hăvărneanu <aram@mgk.ro>2014-11-14 14:25:49 +0100
commit9d6825edee770f856cfdabb9e87c1a13e6feb4c8 (patch)
tree09bcca71dc1830a4fc3e7d08a75170c7a1b86ddc /src/runtime/signal_solaris_amd64.go
parent0438182c3074c3a7ba366e4f608d2941ade0706a (diff)
downloadgo-9d6825edee770f856cfdabb9e87c1a13e6feb4c8.tar.gz
go-9d6825edee770f856cfdabb9e87c1a13e6feb4c8.zip
[dev.cc] runtime: fix nil pointer crash handler bug on Solaris
This change fixes the Solaris port. LGTM=dave, rsc R=rsc, dave CC=brad, golang-codereviews https://golang.org/cl/168600045
Diffstat (limited to 'src/runtime/signal_solaris_amd64.go')
-rw-r--r--src/runtime/signal_solaris_amd64.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/runtime/signal_solaris_amd64.go b/src/runtime/signal_solaris_amd64.go
index 967835ad2c..a577c8c199 100644
--- a/src/runtime/signal_solaris_amd64.go
+++ b/src/runtime/signal_solaris_amd64.go
@@ -36,7 +36,7 @@ func (c *sigctxt) cs() uint64 { return uint64(c.regs().gregs[_REG_CS]) }
func (c *sigctxt) fs() uint64 { return uint64(c.regs().gregs[_REG_FS]) }
func (c *sigctxt) gs() uint64 { return uint64(c.regs().gregs[_REG_GS]) }
func (c *sigctxt) sigcode() uint64 { return uint64(c.info.si_code) }
-func (c *sigctxt) sigaddr() uint64 { return uint64(uintptr(unsafe.Pointer(&c.info.__data[0]))) }
+func (c *sigctxt) sigaddr() uint64 { return *(*uint64)(unsafe.Pointer(&c.info.__data[0])) }
func (c *sigctxt) set_rip(x uint64) { c.regs().gregs[_REG_RIP] = int64(x) }
func (c *sigctxt) set_rsp(x uint64) { c.regs().gregs[_REG_RSP] = int64(x) }