delve/service
Alessandro Arzilli 8724b3fce7 Go 1.8 compatibility (part 2) (#667)
* dwarf/line: bugfix: not all values of the state machine can be used

According to DWARF Version 3 Section 6.2 "Line Number Information" not
all the values transversed by the line numbers state machine are valid
instructions, only the ones after a "special opcode", after the
standard opcode DW_LNS_copy and the extended opcode
DW_LINE_end_sequence.

DWARF3 describes this by specifying that only the opcodes listed above
"append a row to the matrix".

Additionally the implementation of DW_LNS_const_add_pc was wrong.

Fixes #664

* dwarf/line: fixed test failing with go1.8

* service/test: fix prologue detection tests

The conditions about which function prologue is emitted by the compiler
changed in go1.8, changed the test program so that callme2 will still
have a prologue under go1.8.

* service/test: fix step test

compilation units are linked in a different order under go1.8 so the
code of 'fmt' is no longer located after 'main' in the executable,
changed the tests so that they don't rely on this assumption anymore.

* proc: change runtime.Breakpoint support for go1.8

Before 1.8 it was sufficient to step twice to exit a
runtime.Breakpoint(), but go 1.8 added frame pointer tracking to small
functions making runtime.Breakpoint longer.
This changes runtime.Breakpoint handling in Continue to single step as
many times as are needed to exit runtime.Breakpoint.

* proc/test: fix TestIssue561 for go1.8
2017-02-07 13:07:18 -08:00
..
api proc/variables: support NaN/Inf float values (#706) 2017-01-20 14:22:36 -08:00
debugger service/debugger: bugfix: error values can not be marshalled (#697) 2017-01-09 15:19:42 -08:00
rpc1 Two bugfixes regarding stale executable files, and executables changing between restarts (#689) 2016-12-22 10:53:34 -06:00
rpc2 Two bugfixes regarding stale executable files, and executables changing between restarts (#689) 2016-12-22 10:53:34 -06:00
rpccommon Fix for #614 and #683 (#687) 2017-01-09 15:21:54 -08:00
test Go 1.8 compatibility (part 2) (#667) 2017-02-07 13:07:18 -08:00
client.go Two bugfixes regarding stale executable files, and executables changing between restarts (#689) 2016-12-22 10:53:34 -06:00
config.go Flag to set working directory (#650) 2016-11-01 12:58:42 -07:00
rpccallback.go Replaced net/rpc with custom version 2016-07-02 12:16:06 +02:00
server.go misc: cleanup and documentation 2016-01-10 02:10:51 -08:00