]> Cypherpunks repositories - gostls13.git/commit
cmd/link: fix isStmt DWARF info
authorAustin Clements <austin@google.com>
Wed, 14 Nov 2018 20:45:27 +0000 (15:45 -0500)
committerAustin Clements <austin@google.com>
Wed, 14 Nov 2018 22:01:38 +0000 (22:01 +0000)
commit8dba66dfeb8eb19b075d45a84dae9bcdddb347d6
tree422cb9254c832d62020c06f230c33fe176eeb728
parent2de53906e199a744605ca6a0c6cc81653c6e4f89
cmd/link: fix isStmt DWARF info

When CL 147160 introduced function ABIs encoded as symbol versions in
the linker, it became slightly more complicated to look up derived
DWARF symbols. It fixed this by introducing a dwarfFuncSym function to
hide this logic, but missed one derived lookup that was done in the
object reader itself. As a result, we lost the isStmt tables from the
compiler, so every PC was marked as a statement in the DWARF info.

Fix this by moving this derived lookup out of the object reader and
into the DWARF code and calling dwarfFuncSym to get the correctly
versioned symbol.

Should fix the linux-amd64-longtest builder.

Updates #27539.

Change-Id: If40d5ba28bab1918ac4ad18fbb5103666b6d978b
Reviewed-on: https://go-review.googlesource.com/c/149605
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
src/cmd/link/internal/ld/dwarf.go
src/cmd/link/internal/objfile/objfile.go
src/cmd/link/internal/sym/symbol.go