diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index 323b07cb8c76bad6bac7cc33fd6c5ac4fc0ee34d..8f5f542fcebf6183c2650d5d5a83c23e4078c874 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-9be198d960e4bc46e21e4da1e3d4a1619266b8ab
+97b949f249515a61d3c09e9e06f08c8af189e967
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
diff --git a/libgo/go/runtime/signal1_unix.go b/libgo/go/runtime/signal1_unix.go
index d21bf4c31d7ad43ae734362ff7e01f10478a6449..48c549104c4aa178021e3ee353b56b95ba592a8d 100644
--- a/libgo/go/runtime/signal1_unix.go
+++ b/libgo/go/runtime/signal1_unix.go
@@ -65,6 +65,11 @@ var signalsOK bool
 //go:nosplit
 //go:nowritebarrierrec
 func initsig(preinit bool) {
+	if preinit {
+		// preinit is only passed as true if isarchive should be true.
+		isarchive = true
+	}
+
 	if !preinit {
 		// It's now OK for signal handlers to run.
 		signalsOK = true