]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.cc] runtime: fix nil pointer crash handler bug on Solaris
authorAram Hăvărneanu <aram@mgk.ro>
Fri, 14 Nov 2014 13:25:49 +0000 (14:25 +0100)
committerAram Hăvărneanu <aram@mgk.ro>
Fri, 14 Nov 2014 13:25:49 +0000 (14:25 +0100)
This change fixes the Solaris port.

LGTM=dave, rsc
R=rsc, dave
CC=brad, golang-codereviews
https://golang.org/cl/168600045

src/runtime/signal_solaris_amd64.go

index 967835ad2c8eed2b3bfcba6f275f165171163656..a577c8c1994b2667d965394446de85be7189fcc8 100644 (file)
@@ -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) }