• David Chase's avatar
    cmd/compile: plumb prologueEnd into DWARF · 7bac2a95
    David Chase authored
    This marks the first instruction after the prologue for
    consumption by debuggers, specifically Delve, who asked
    for it.  gdb appears to ignore it, lldb appears to use it.
    
    The bits for end-of-prologue and beginning-of-epilogue
    are added to Pos (reducing maximum line number by 4x, to
    1048575).  They're added in cmd/internal/obj/<ARCH>.go
    (currently x86 only), so the compiler-proper need not
    deal with them.
    
    The linker currently does nothing with beginning-of-epilogue,
    but the plumbing exists to make it easier in the future.
    
    This also upgrades the line number table to DWARF version 3.
    
    This CL includes a regression in the coverage for
    testdata/i22558.gdb-dbg.nexts, this appears to be a gdb
    artifact but the fix would be in the preceding CL in the
    stack.
    
    Change-Id: I3bda5f46a0ed232d137ad48f65a14835c742c506
    Reviewed-on: https://go-review.googlesource.com/110416
    Run-TryBot: David Chase <drchase@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarAustin Clements <austin@google.com>
    7bac2a95
Name
Last commit
Last update
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
context Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
plugin Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
vendor/golang_org/x Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
buildall.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
cmp.bash Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
naclmake.bash Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...