From: Cherry Zhang Date: Thu, 5 Mar 2020 20:05:17 +0000 (-0500) Subject: [dev.link] cmd/link: iterate over Textp2 in stack check pass X-Git-Tag: go1.15beta1~679^2~96 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=bf3aa8741b5a1fd6297134047d5603487ddd17ec;p=gostls13.git [dev.link] cmd/link: iterate over Textp2 in stack check pass Implement a TODO in CL 220059, now that CL 220985 is in. Change-Id: I7273a7b9e1e7c0b916780571c9c954da21366429 Reviewed-on: https://go-review.googlesource.com/c/go/+/222239 Run-TryBot: Cherry Zhang TryBot-Result: Gobot Gobot Reviewed-by: Jeremy Faller --- diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index d88eb1fd16..7eea8a7dad 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -2147,21 +2147,14 @@ func (ctxt *Link) dostkcheck() { // Check every function, but do the nosplit functions in a first pass, // to make the printed failure chains as short as possible. - // TODO: iterate over Textp - for s, n := loader.Sym(1), ldr.NSym(); int(s) < n; s++ { - if !ldr.AttrReachable(s) || ldr.SymType(s) != sym.STEXT { - continue - } + for _, s := range ctxt.Textp2 { if ldr.IsNoSplit(s) { ch.sym = s sc.check(&ch, 0) } } - for s, n := loader.Sym(1), ldr.NSym(); int(s) < n; s++ { - if !ldr.AttrReachable(s) || ldr.SymType(s) != sym.STEXT { - continue - } + for _, s := range ctxt.Textp2 { if !ldr.IsNoSplit(s) { ch.sym = s sc.check(&ch, 0)