cmd/compile: change the "bogus line" to be 1
The previous value was "too bogus" and caused objdump to crash.
Updated infinite loop test results (only run if -args -f) in ssa/debug_test.go
Probably also fixes #36621 but that bug needs more info to tell for certain.
Fixes #36570
Change-Id: I51144641d25d559308a98d726d87806bd340cc5a
Reviewed-on: https://go-review.googlesource.com/c/go/+/215297
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
diff --git a/src/cmd/compile/internal/ssa/testdata/infloop.dlv-opt.nexts b/src/cmd/compile/internal/ssa/testdata/infloop.dlv-opt.nexts
index 19496de..0b9f06f 100644
--- a/src/cmd/compile/internal/ssa/testdata/infloop.dlv-opt.nexts
+++ b/src/cmd/compile/internal/ssa/testdata/infloop.dlv-opt.nexts
@@ -2,11 +2,11 @@
6: func test() {
8: go func() {}()
10: for {
-1048575:
+1: package main
10: for {
-1048575:
+1: package main
10: for {
-1048575:
+1: package main
10: for {
-1048575:
+1: package main
10: for {
diff --git a/src/cmd/internal/src/pos.go b/src/cmd/internal/src/pos.go
index 60c7c91..861d918 100644
--- a/src/cmd/internal/src/pos.go
+++ b/src/cmd/internal/src/pos.go
@@ -305,7 +305,7 @@
// because they have almost no interaction with other uses of the position.
const (
lineBits, lineMax = 20, 1<<lineBits - 2
- bogusLine = 1<<lineBits - 1 // Not a line number; used to disrupt infinite loops
+ bogusLine = 1 // Used to disrupt infinite loops to prevent debugger looping
isStmtBits, isStmtMax = 2, 1<<isStmtBits - 1
xlogueBits, xlogueMax = 2, 1<<xlogueBits - 1
colBits, colMax = 32 - lineBits - xlogueBits - isStmtBits, 1<<colBits - 1
diff --git a/src/cmd/objdump/testdata/fmthello.go b/src/cmd/objdump/testdata/fmthello.go
index e982681..fd16ebe 100644
--- a/src/cmd/objdump/testdata/fmthello.go
+++ b/src/cmd/objdump/testdata/fmthello.go
@@ -4,9 +4,15 @@
func main() {
Println("hello, world")
+ if flag {
+ for {
+ }
+ }
}
//go:noinline
func Println(s string) {
fmt.Println(s)
}
+
+var flag bool