Index: src/cmd/link/internal/ld/lib.go
--- src/cmd/link/internal/ld/lib.go.orig
+++ src/cmd/link/internal/ld/lib.go
@@ -1489,10 +1489,12 @@ func (ctxt *Link) hostlink() {
 		if ctxt.BuildMode != BuildModePIE {
 			argv = append(argv, "-Wl,-nopie")
 		}
-		if linkerFlagSupported(ctxt.Arch, argv[0], "", "-Wl,-z,nobtcfi") {
-			// -Wl,-z,nobtcfi is only supported on OpenBSD 7.4+, remove guard
-			// when OpenBSD 7.5 is released and 7.3 is no longer supported.
-			argv = append(argv, "-Wl,-z,nobtcfi")
+		if !ctxt.Arch.InFamily(sys.ARM64) && !ctxt.Arch.InFamily(sys.AMD64) {
+			if linkerFlagSupported(ctxt.Arch, argv[0], "", "-Wl,-z,nobtcfi") {
+				// -Wl,-z,nobtcfi is only supported on OpenBSD 7.4+, remove guard
+				// when OpenBSD 7.5 is released and 7.3 is no longer supported.
+				argv = append(argv, "-Wl,-z,nobtcfi")
+			}
 		}
 		if ctxt.Arch.InFamily(sys.ARM64) {
 			// Disable execute-only on openbsd/arm64 - the Go arm64 assembler
