delve/pkg/proc
Alessandro Arzilli a8b8f30d39 godwarf: support recursive types involving C qualifiers and typedefs (#1603)
Backports debug/dwarf commit: 535741a69a1300d1fe2800778b99c8a1b75d7fdd
CL: https://go-review.googlesource.com/18459

The x/debug/dwarf that we used for dwarf/godwarf/type.go was forked
from debug/dwarf long before this commit.

Original description:

    Currently readType simultaneously constructs a type graph and resolves
    the sizes of the types. However, these two operations are
    fundamentally at odds: the order we parse a cyclic structure in may be
    different than the order we need to resolve type sizes in. As a
    result, it's possible that when readType attempts to resolve the size
    of a typedef, it may dereference a nil Type field of another typedef
    retrieved from the type cache that's only partially constructed.

    To fix this, we delay resolving typedef sizes until the end of the
    readType recursion, when the full type graph is constructed.

Fixes #1601
2019-07-08 10:24:56 -07:00
..
core Miscellaneous logging improvements (#1525) 2019-03-27 14:58:36 -07:00
gdbserial gdbserial: Fix go vet warnings (#1594) 2019-07-01 11:10:34 -07:00
linutil proc/linutil: Fix register bitmasks 2019-06-16 09:35:14 +02:00
native proc/native: fix target program crash caused by call injection (linux) (#1538) 2019-04-25 09:45:37 -07:00
test Go 1.13 support (#1546) 2019-06-30 10:34:47 -07:00
winutil proc/gdbserial: do not return floating point regs when not requested (#1497) 2019-02-26 08:53:45 -08:00
arch.go proc: support debugging plugins (#1414) 2019-05-08 14:06:38 -07:00
bininfo.go proc: added *BinaryInfo.AllPCsForFileLine for faster bulk queries (#1592) 2019-06-27 19:39:15 -07:00
breakpoints.go proc/*: allow stepping into functions without debug_info symbols 2018-11-20 12:57:25 -08:00
disasm_amd64.go proc/*: allow stepping into functions without debug_info symbols 2018-11-20 12:57:25 -08:00
disasm.go *: Misc refactors, and doc additions 2018-09-19 20:59:35 +02:00
doc.go Move top-level packages into pkg 2017-02-08 12:17:19 -08:00
dwarf_expr_test.go proc: allow simultaneous call injection to multiple goroutines (#1591) 2019-06-30 10:44:30 -07:00
eval.go proc: allow simultaneous call injection to multiple goroutines (#1591) 2019-06-30 10:44:30 -07:00
fncall.go proc: allow simultaneous call injection to multiple goroutines (#1591) 2019-06-30 10:44:30 -07:00
interface.go proc: allow simultaneous call injection to multiple goroutines (#1591) 2019-06-30 10:44:30 -07:00
mem.go More Function Calls, parts 2 (#1504) 2019-05-30 08:08:37 -07:00
moduledata.go proc: support debugging plugins (#1414) 2019-05-08 14:06:38 -07:00
proc_general_test.go proc: change memCache to delay reading 2018-04-23 10:13:21 -07:00
proc_linux_test.go *: Update import name to github.com/go-delve/delve 2019-01-04 19:43:13 +01:00
proc_test.go godwarf: support recursive types involving C qualifiers and typedefs (#1603) 2019-07-08 10:24:56 -07:00
proc_unix_test.go *: Update import name to github.com/go-delve/delve 2019-01-04 19:43:13 +01:00
proc.go proc: allow simultaneous call injection to multiple goroutines (#1591) 2019-06-30 10:44:30 -07:00
registers_amd64.go proc/gdbserial: do not return floating point regs when not requested (#1497) 2019-02-26 08:53:45 -08:00
registers.go proc/gdbserial: do not return floating point regs when not requested (#1497) 2019-02-26 08:53:45 -08:00
scope_test.go *: Update import name to github.com/go-delve/delve 2019-01-04 19:43:13 +01:00
stack.go proc: support debugging plugins (#1414) 2019-05-08 14:06:38 -07:00
threads.go proc: support debugging plugins (#1414) 2019-05-08 14:06:38 -07:00
types.go proc: add LocationCover method to BinaryInfo (#1573) 2019-06-24 08:02:14 -07:00
variable_test.go *: Update import name to github.com/go-delve/delve 2019-01-04 19:43:13 +01:00
variables.go proc: allow simultaneous call injection to multiple goroutines (#1591) 2019-06-30 10:44:30 -07:00