46 lines
1.9 KiB
Diff
46 lines
1.9 KiB
Diff
From 297b61305501fc9fa434551664f69f3b48351924 Mon Sep 17 00:00:00 2001
|
|
From: Tom Thorogood <me+google@tomthorogood.co.uk>
|
|
Date: Mon, 01 Feb 2021 13:32:18 +1030
|
|
Subject: [PATCH] test: fix incorrectly laid out instructions in issue11656.go
|
|
|
|
CL 279423 introduced a regression in this test as it incorrectly laid
|
|
out various instructions. In the case of arm, the second instruction
|
|
was overwriting the first. In the case of 386, amd64 and s390x, the
|
|
instructions were being appended to the end of the slice after 64
|
|
zero bytes.
|
|
|
|
This was causing test failures on "linux/s390x on z13".
|
|
|
|
Fixes #44028
|
|
|
|
Change-Id: Id136212dabdae27db7e91904b0df6a3a9d2f4af4
|
|
---
|
|
|
|
diff --git a/test/fixedbugs/issue11656.go b/test/fixedbugs/issue11656.go
|
|
index acd3f4f..85fe720 100644
|
|
--- a/test/fixedbugs/issue11656.go
|
|
+++ b/test/fixedbugs/issue11656.go
|
|
@@ -59,10 +59,10 @@
|
|
ill := make([]byte, 64)
|
|
switch runtime.GOARCH {
|
|
case "386", "amd64":
|
|
- ill = append(ill, 0x89, 0x04, 0x25, 0x00, 0x00, 0x00, 0x00) // MOVL AX, 0
|
|
+ ill = append(ill[:0], 0x89, 0x04, 0x25, 0x00, 0x00, 0x00, 0x00) // MOVL AX, 0
|
|
case "arm":
|
|
- binary.LittleEndian.PutUint32(ill, 0xe3a00000) // MOVW $0, R0
|
|
- binary.LittleEndian.PutUint32(ill, 0xe5800000) // MOVW R0, (R0)
|
|
+ binary.LittleEndian.PutUint32(ill[0:4], 0xe3a00000) // MOVW $0, R0
|
|
+ binary.LittleEndian.PutUint32(ill[4:8], 0xe5800000) // MOVW R0, (R0)
|
|
case "arm64":
|
|
binary.LittleEndian.PutUint32(ill, 0xf90003ff) // MOVD ZR, (ZR)
|
|
case "ppc64":
|
|
@@ -74,7 +74,7 @@
|
|
case "mipsle", "mips64le":
|
|
binary.LittleEndian.PutUint32(ill, 0xfc000000) // MOVV R0, (R0)
|
|
case "s390x":
|
|
- ill = append(ill, 0xa7, 0x09, 0x00, 0x00) // MOVD $0, R0
|
|
+ ill = append(ill[:0], 0xa7, 0x09, 0x00, 0x00) // MOVD $0, R0
|
|
ill = append(ill, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x24) // MOVD R0, (R0)
|
|
case "riscv64":
|
|
binary.LittleEndian.PutUint32(ill, 0x00003023) // MOV X0, (X0)
|