author | Shawn Walker-Salas <shawn.walker@oracle.com> |
Tue, 20 Dec 2016 11:59:29 -0800 | |
changeset 7518 | c388d4e1d3ad |
permissions | -rw-r--r-- |
7518
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
1 |
From 230c3918a8ae8a65e1974659e55f8a808fe731b5 Mon Sep 17 00:00:00 2001 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
2 |
From: Michael Munday <[email protected]> |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
3 |
Date: Thu, 8 Sep 2016 19:27:24 -0400 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
4 |
Subject: [PATCH 20/38] [release-branch.go1.7] runtime: fix SIGILL in |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
5 |
checkvectorfacility on s390x |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
6 |
|
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
7 |
STFLE does not necessarily write to all the double-words that are |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
8 |
requested. It is therefore necessary to clear the target memory |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
9 |
before calling STFLE in order to ensure that the facility list does |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
10 |
not contain false positives. |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
11 |
|
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
12 |
Fixes #17032. |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
13 |
|
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
14 |
Change-Id: I7bec9ade7103e747b72f08562fe57e6f091bd89f |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
15 |
Reviewed-on: https://go-review.googlesource.com/28850 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
16 |
Reviewed-by: Brad Fitzpatrick <[email protected]> |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
17 |
Reviewed-on: https://go-review.googlesource.com/31267 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
18 |
Reviewed-by: Michael Munday <[email protected]> |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
19 |
--- |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
20 |
src/runtime/asm_s390x.s | 1 + |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
21 |
1 file changed, 1 insertion(+) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
22 |
|
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
23 |
diff --git a/src/runtime/asm_s390x.s b/src/runtime/asm_s390x.s |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
24 |
index 896ccde..97f276c 100644 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
25 |
--- a/src/runtime/asm_s390x.s |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
26 |
+++ b/src/runtime/asm_s390x.s |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
27 |
@@ -20,6 +20,7 @@ TEXT runtime·checkvectorfacility(SB),NOSPLIT,$32-0 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
28 |
MOVD $2, R0 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
29 |
MOVD R1, tmp-32(SP) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
30 |
MOVD $x-24(SP), R1 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
31 |
+ XC $24, 0(R1), 0(R1) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
32 |
// STFLE 0(R1) |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
33 |
WORD $0xB2B01000 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
34 |
MOVBZ z-8(SP), R1 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
35 |
-- |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
36 |
2.7.4 |
c388d4e1d3ad
PSARC/2016/250 Google Go version 1.7
Shawn Walker-Salas <shawn.walker@oracle.com>
parents:
diff
changeset
|
37 |