]> Cypherpunks.ru repositories - gostls13.git/commit
[dev.link] cmd/link: convert second phase of DWARF-gen to use loader
authorThan McIntosh <thanm@google.com>
Fri, 14 Feb 2020 21:12:51 +0000 (16:12 -0500)
committerThan McIntosh <thanm@google.com>
Thu, 5 Mar 2020 16:50:21 +0000 (16:50 +0000)
commit0c41a37c6c6f8244752dd2ac72bbdea0adedbaa6
tree4962471f86d20e4015c3c8cf8ed0e841072b0995
parent4a6c1caae2a4e5aa238bdb34a77882cc13b2fa3d
[dev.link] cmd/link: convert second phase of DWARF-gen to use loader

This converts the second portion of DWARF-gen (dwarfGenerateDebugSyms
function and friends) to use the loader, as opposed to sym.Symbols.

Second phase is invoked as part of dodata(), which is fairly far along
in the linker, meaning that the "converted to loader.Symbol" wavefront
has not yet reached that point.

To account for this, the patch contains some shim code that runs
initially to copy back things from sym.Symbols into the loader
(notable symbol values), and then a second hook to be code after
dwarf-gen is complete to that copies the results back into the
appropriate sym.Symbols. This code is obviously temporary, but needed
for the time being.

Change-Id: I9b830b08b16480a1a5230cb52b592db1c550af18
Reviewed-on: https://go-review.googlesource.com/c/go/+/220987
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
src/cmd/link/internal/ld/dwarf.go
src/cmd/link/internal/ld/dwarf2.go
src/cmd/link/internal/ld/main.go
src/cmd/link/internal/loader/loader.go
src/cmd/link/internal/loader/symbolbuilder.go