]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: fix s390x build
authorRuss Cox <rsc@golang.org>
Thu, 9 May 2019 22:34:29 +0000 (18:34 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 9 May 2019 23:41:02 +0000 (23:41 +0000)
The new prototypes of duffzero and duffcopy must be
accompanied by functions. Otherwise buildmode=shared
(in particular, misc/cgo/testshared) has missing symbols.

The right fix, of course, is to implement these on s390x.

For #31916.

Change-Id: I3efff5e3011956341e1b26223a4847a8a91a0453
Reviewed-on: https://go-review.googlesource.com/c/go/+/176397
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/runtime/duff_s390x.s [new file with mode: 0644]

diff --git a/src/runtime/duff_s390x.s b/src/runtime/duff_s390x.s
new file mode 100644 (file)
index 0000000..95d492a
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+#include "go_asm.h"
+#include "go_tls.h"
+#include "textflag.h"
+
+// s390x can copy/zero 1-256 bytes with a single instruction,
+// so there's no need for these, except to satisfy the prototypes
+// in stubs.go.
+
+TEXT runtime·duffzero(SB),NOSPLIT|NOFRAME,$0-0
+       MOVD    $0, 2(R0)
+       RET
+
+TEXT runtime·duffcopy(SB),NOSPLIT|NOFRAME,$0-0
+       MOVD    $0, 2(R0)
+       RET