]> Cypherpunks repositories - gostls13.git/commitdiff
test: fix test issue 69434 for riscv64
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Tue, 1 Oct 2024 09:50:04 +0000 (16:50 +0700)
committerGopher Robot <gobot@golang.org>
Tue, 1 Oct 2024 18:13:35 +0000 (18:13 +0000)
CL 615915 simplified test for issue 69434, using gcflags maymorestack to
force stack moving, making program failed with invalid stack pointer.

However, it seems that this maymorestack is broken on riscv64. At least
gotip-linux-riscv64 is currently broken.

This CL fixes this problem by using the initial approach, growing stack
size big enough to force stack moving.

Updates #69434
Fixes #69714

Cq-Include-Trybots: luci.golang.try:gotip-linux-riscv64
Change-Id: I95255fba884a200f75bcda34d58e9717e4a952ad
Reviewed-on: https://go-review.googlesource.com/c/go/+/616698
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
test/fixedbugs/issue69434.go

index 6443bde50f8744674fad5110bafbf434e02a0482..026d3246063c565738bf0104fd504799fecf9641 100644 (file)
@@ -1,4 +1,4 @@
-// run -gcflags=-d=maymorestack=runtime.mayMoreStackMove
+// run
 
 // Copyright 2024 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
@@ -13,6 +13,7 @@ import (
 func All() iter.Seq[int] {
        return func(yield func(int) bool) {
                for i := 0; i < 10; i++ {
+                       growStack(512)
                        if !yield(i) {
                                return
                        }
@@ -48,6 +49,13 @@ func f() {
        }
 }
 
+func growStack(i int) {
+       if i == 0 {
+               return
+       }
+       growStack(i - 1)
+}
+
 func main() {
        f()
 }