]> Cypherpunks repositories - gostls13.git/commit
[dev.link] use per package filenames to build pclntab
authorJeremy Faller <jeremy@golang.org>
Wed, 29 Jul 2020 15:06:02 +0000 (11:06 -0400)
committerJeremy Faller <jeremy@golang.org>
Mon, 10 Aug 2020 16:55:06 +0000 (16:55 +0000)
commit9bdaf99966e4bacb0dd268d773a617a3a3b93f3a
tree47f3138aa07c00da551e776ba457a583fb4cf6b2
parent8370cbe64de345d4635e53202a04712ee6f777e5
[dev.link] use per package filenames to build pclntab

In order to prevent renumbering of filenames in pclntab generation, use
the per-package file list (previously only used for DWARF generation) as
file-indices. This is the largest step to eliminate renumbering of
filenames in pclntab.

Note, this is probably not the final state of the file table within the
object file. In this form, the linker loads all filenames for all
objects. I'll move to storing the filenames as regular string
symbols,and defaulting all string symbols to using the larger hash value
to make generation of pcln simplest, and most memory friendly.

Change-Id: I23daafa3f4b4535076e23100200ae0e7163aafe0
Reviewed-on: https://go-review.googlesource.com/c/go/+/245485
Run-TryBot: Jeremy Faller <jeremy@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
16 files changed:
src/cmd/internal/goobj/read.go
src/cmd/internal/goobj/readnew.go
src/cmd/internal/goobj2/funcinfo.go
src/cmd/internal/goobj2/objfile.go
src/cmd/internal/obj/dwarf.go
src/cmd/internal/obj/line.go
src/cmd/internal/obj/link.go
src/cmd/internal/obj/objfile2.go
src/cmd/internal/obj/pcln.go
src/cmd/internal/obj/sym.go
src/cmd/internal/objfile/goobj.go
src/cmd/internal/src/xpos.go
src/cmd/link/internal/ld/dwarf.go
src/cmd/link/internal/ld/pcln.go
src/cmd/link/internal/loader/loader.go
src/cmd/link/internal/sym/compilation_unit.go