]> Cypherpunks repositories - gostls13.git/commit
cmd/internal/goobj2: add referenced symbol names to object file
authorCherry Zhang <cherryyz@google.com>
Tue, 2 Jun 2020 21:45:57 +0000 (17:45 -0400)
committerCherry Zhang <cherryyz@google.com>
Wed, 3 Jun 2020 19:20:56 +0000 (19:20 +0000)
commit73dd74a9fe5a000123c0ef47ce5e0dbea1907d41
treecf8c810d694cba9fdbab676d7d5455be45bec2fa
parentb7717e46340b7ffe5fd53313f10dfa85a141f77a
cmd/internal/goobj2: add referenced symbol names to object file

Currently, for symbols defined in other packages and referenced
by index, we don't record its name in the object file, as the
linker doesn't need the name, only the index. As a consequence,
tools like objdump and nm also don't know the referenced symbol
names and cannot dump it properly.

This CL adds referenced symbol names to the object file. So the
object file is self-contained. And tools can retrieve referenced
symbol names properly.

Tools now should work as good for new object files as for old
object files.

Fixes #38875.

Change-Id: I16c685c1fd83273ab1faef474e19acf4af46396f
Reviewed-on: https://go-review.googlesource.com/c/go/+/236168
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
src/cmd/internal/goobj/readnew.go
src/cmd/internal/goobj2/objfile.go
src/cmd/internal/obj/objfile2.go
src/cmd/link/internal/loader/loader.go