]> Cypherpunks repositories - gostls13.git/commit
cmd/link: revert/revise CL 98075 because LLDB is very picky now
authorDavid Chase <drchase@google.com>
Tue, 2 Apr 2019 21:26:49 +0000 (17:26 -0400)
committerDavid Chase <drchase@google.com>
Tue, 23 Apr 2019 20:52:23 +0000 (20:52 +0000)
commit807761f3345b264ceb6f5b6fdd804f5c34d4ee51
treeeb8c0e393373222c547f3a323d5c7e9f3e769c01
parent68819fb6d2bab59e4eadcdf62aa4a2a54417d640
cmd/link: revert/revise CL 98075 because LLDB is very picky now

This was originally

Revert "cmd/link: fix up debug_range for dsymutil (revert CL 72371)"

which has the effect of no longer using Base Address Selection
Entries in DWARF.  However, the build-time costs of that are
about 2%, so instead the hacky fixup that generated technically
incorrect DWARF was removed from the linker, and the choice
is instead made in the compiler, dependent on platform, but
also under control of a flag so that we can report this bug
against LLDB/dsymutil/dwarfdump (really, the LLVM dwarf
libraries).

This however does not solve #31188; debugging still fails,
but dwarfdump no longer complains.  There are at least two
LLDB bugs involved, and this change will at allow us
to report them without them being rejected because our
now-obsolete workaround for the first bug creates
not-quite-DWARF.

Updates #31188.

Change-Id: I5300c51ad202147bab7333329ebe961623d2b47d
Reviewed-on: https://go-review.googlesource.com/c/go/+/170638
Run-TryBot: David Chase <drchase@google.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
src/cmd/compile/internal/gc/main.go
src/cmd/compile/internal/ssa/debug.go
src/cmd/internal/dwarf/dwarf.go
src/cmd/internal/obj/data.go
src/cmd/internal/obj/link.go
src/cmd/internal/obj/objfile.go
src/cmd/link/internal/ld/dwarf.go
src/cmd/link/internal/sym/symbol.go