aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/signal_windows.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/signal_windows.go')
-rw-r--r--src/runtime/signal_windows.go18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/runtime/signal_windows.go b/src/runtime/signal_windows.go
index d123276d3e..3af2e39b08 100644
--- a/src/runtime/signal_windows.go
+++ b/src/runtime/signal_windows.go
@@ -43,16 +43,9 @@ func initExceptionHandler() {
//
//go:nosplit
func isAbort(r *context) bool {
- switch GOARCH {
- case "386", "amd64":
- // In the case of an abort, the exception IP is one byte after
- // the INT3 (this differs from UNIX OSes).
- return isAbortPC(r.ip() - 1)
- case "arm":
- return isAbortPC(r.ip())
- default:
- return false
- }
+ // In the case of an abort, the exception IP is one byte after
+ // the INT3 (this differs from UNIX OSes).
+ return isAbortPC(r.ip() - 1)
}
// isgoexception reports whether this exception should be translated
@@ -242,9 +235,12 @@ func sigpanic() {
switch g.sig {
case _EXCEPTION_ACCESS_VIOLATION:
- if g.sigcode1 < 0x1000 || g.paniconfault {
+ if g.sigcode1 < 0x1000 {
panicmem()
}
+ if g.paniconfault {
+ panicmemAddr(g.sigcode1)
+ }
print("unexpected fault address ", hex(g.sigcode1), "\n")
throw("fault")
case _EXCEPTION_INT_DIVIDE_BY_ZERO: