1
0
mirror of https://github.com/golang/go synced 2024-11-06 11:26:12 -07:00

cmd/internal/obj/s390x: increase maximum number of loop iterations

The maximum number of 'spanz' iterations that the s390x assembler
performs to reach a fixed point for relative offsets was 10. This
turned out to be too aggressive for one example of auto-generated
fuzzing code. Increase the number of iterations by 10x to reduce
the likelihood that the limit will be hit again. This limit only
exists to help find bugs in the assembler.

master at tip does not fail with the example code in the issue, I
have therefore not submitted it as a test (it is also quite large).
I tested this change with the example code at the commit given and
it fixes the issue.

Fixes #25269.

Change-Id: I0e44948957a7faff51c7d27c0b7746ed6e2d47bb
Reviewed-on: https://go-review.googlesource.com/122235
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Michael Munday 2018-07-04 16:43:19 +01:00
parent e2f8766c30
commit 9fa988547a

View File

@ -427,7 +427,7 @@ func spanz(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
changed := true
loop := 0
for changed {
if loop > 10 {
if loop > 100 {
c.ctxt.Diag("stuck in spanz loop")
break
}