Blob Blame History Raw
diff --git a/pkg/goversion/go_version.go b/pkg/goversion/go_version.go
index 5caf1b9bb..88a2d4e5c 100644
--- a/pkg/goversion/go_version.go
+++ b/pkg/goversion/go_version.go
@@ -155,11 +155,18 @@ func Installed() (GoVersion, bool) {
 // or go version) is major.minor or a later version, or a development
 // version.
 func VersionAfterOrEqual(version string, major, minor int) bool {
+	return VersionAfterOrEqualRev(version, major, minor, -1)
+}
+
+// VersionAfterOrEqualRev checks that version (as returned by runtime.Version()
+// or go version) is major.minor or a later version, or a development
+// version.
+func VersionAfterOrEqualRev(version string, major, minor, rev int) bool {
 	ver, _ := Parse(version)
 	if ver.IsDevel() {
 		return true
 	}
-	return ver.AfterOrEqual(GoVersion{major, minor, -1, 0, 0, ""})
+	return ver.AfterOrEqual(GoVersion{major, minor, rev, 0, 0, ""})
 }
 
 const producerVersionPrefix = "Go cmd/compile "
diff --git a/pkg/proc/proc_test.go b/pkg/proc/proc_test.go
index f33ddac37..92e6e38db 100644
--- a/pkg/proc/proc_test.go
+++ b/pkg/proc/proc_test.go
@@ -4804,7 +4804,8 @@ func TestStepIntoWrapperForEmbeddedPointer(t *testing.T) {
 		{contStepout, 29}})
 
 	// same test but with next instead of stepout
-	if goversion.VersionAfterOrEqual(runtime.Version(), 1, 14) && runtime.GOARCH != "386" {
+	if goversion.VersionAfterOrEqual(runtime.Version(), 1, 14) && runtime.GOARCH != "386" && !goversion.VersionAfterOrEqualRev(runtime.Version(), 1, 15, 4) {
+		// Line numbers generated for versions 1.14 through 1.15.3 on any system except linux/386
 		testseq2(t, "ifaceembcall", "", []seqTest{
 			{contContinue, 28}, // main.main, the line calling iface.PtrReceiver()
 			{contStep, 18},     // main.(*A).PtrReceiver