1. 28 11月, 2019 2 次提交
  2. 26 11月, 2019 3 次提交
  3. 14 11月, 2019 2 次提交
  4. 12 11月, 2019 2 次提交
    • A
      proc/core: enable PIE tests (#1755) · 5da5eee1
      Alessandro Arzilli 提交于
      * Makefile: discard stderr of "go list"
      
      In module mode "go" will print messages about downloading modules to
      stderr, we shouldn't confuse them for the real command output.
      
      * proc/core: enable PIE tests
      
      PIE tests for core files were never enabled due to a missing flag.Parse
      call.
      5da5eee1
    • A
      proc/linux: do not route signals to threads while stopping (#1752) · 4fc85289
      Alessandro Arzilli 提交于
      * proc/linux: do not route signals to threads while stopping
      
      While we are trying to stop the process we should not route signals
      sent to threads because that will result in threads being resumed.
      Also keep better track of which threads are stopped.
      
      This fixes an incompatibility with Go 1.14, which sends a lot of
      signals to its threads to implement non-cooperative preemption,
      resulting in Delve hanging waiting for an already-stopped thread to
      stop.
      
      In principle however this bug has nothing to do with Go 1.14 and could
      manifest in any instance of high signal pressure.
      
      * Makefile: discard stderr of "go list"
      
      In module mode "go" will print messages about downloading modules to
      stderr, we shouldn't confuse them for the real command output.
      4fc85289
  5. 09 11月, 2019 1 次提交
    • A
      gdbserial: propagate unhandled signals back to a specific thread (#1749) · 79143468
      Alessandro Arzilli 提交于
      Instead of just sending unhandled signals back to the process send them
      to the specific thread that received them.
      This is important because:
      
      1. debugserver does not appear to support the vCont;CXX packet without
      specifying a target thread
      2. the non-cooperative preemption change in an upcoming version of Go
      (1.15?) will require sending signals to a specific thread.
      
      Fixes #1744
      79143468
  6. 05 11月, 2019 1 次提交
  7. 02 11月, 2019 1 次提交
    • A
      proc,debugger: implement logical breakpoints (#1717) · 222deeec
      Alessandro Arzilli 提交于
      Modifies FindFileLocation, FindFunctionLocation and LineToPC as well as
      service/debugger to support inlining and introduces the concept of
      logical breakpoints.
      
      For inlined functions FindFileLocation, FindFunctionLocation and
      LineToPC will now return one PC address for each inlining and one PC
      for the concrete implementation of the function (if present).
      
      A proc.Breakpoint will continue to represent a physical breakpoint, at
      a single memory location.
      
      Breakpoints returned by service/debugger, however, will represent
      logical breakpoints and may be associated with multiple memory
      locations and, therefore, multiple proc.Breakpoints.
      
      The necessary logic is introduced in service/debugger so that a change
      to a logical breakpoint will be mirrored to all its physical
      breakpoints and physical breakpoints are aggregated into a single
      logical breakpoint when returned.
      222deeec
  8. 30 10月, 2019 1 次提交
  9. 29 10月, 2019 2 次提交
    • A
      proc: always resolve array types even if they don't appear in the · 5a947bce
      aarzilli 提交于
      program
      
      When evaluating type casts always resolve array types.
      
      Instead of resolving them by looking up the string in debug_info
      construct a fake array type so that a type cast to an array type always
      works as long as the element type exists.
      
      We already did this for byte arrays, this commit extends this to any
      array type. The reason is that we return a fake array type (that
      doesn't exist in the target program) for the array of a channel type.
      
      Fixes #1736
      5a947bce
    • A
      proc: fix breakpoint confusion on resume (#1738) · f1a5e654
      Alessandro Arzilli 提交于
      Fixes a case of breakpoint confusion on resume caused by having two
      breakpoints one byte apart. This bug can cause the target program to
      resume execution a single byte inside an instruction and crash either
      with SIGILL or a SIGSEGV, or misbehave (depending on how the truncated
      instruction is decoded).
      
      native.(*Thread).StepInstruction should call FindBreakpoint using
      adjustPC==false because at that point the PC of the thread should
      already have been adjusted (and it has been).
      f1a5e654
  10. 26 10月, 2019 2 次提交
  11. 23 10月, 2019 2 次提交
  12. 22 10月, 2019 5 次提交
  13. 08 10月, 2019 7 次提交
  14. 26 9月, 2019 3 次提交
  15. 16 9月, 2019 2 次提交
    • A
      proc: correctly mark closure variables as shadowed (#1674) · e9940473
      Alessandro Arzilli 提交于
      If a closure captures a variable but also defines a variable of the
      same name in its root scope the shadowed flag would, sometimes, not be
      appropriately applied to the captured variable.
      
      This change:
      
      1. sorts the variable list by depth *and* declaration line, so that
      closure captured variables always appear before other root-scope
      variables, regardless of the order used by the compiler
      
      2. marks variable with the same name as shadowed even if there is only
      one scope at play.
      
      This fixes the problem but as a side effect:
      
      1. programs compiled with Go prior to version 1.9 will have the
      shadowed flag applied arbitrarily (previously the shadowed flag was not
      applied at all)
      2. programs compiled with Go prior to versoin 1.11 will still exhibit
      the bug, as they do not have DeclLine information.
      
      Fixes #1672
      e9940473
    • A
      travis: bump continuous integration to 1.13 (#1693) · 223eb4cb
      Alessandro Arzilli 提交于
      Bump continuous integration to include Go 1.13, drop 1.10 from
      compatiblity file.
      223eb4cb
  16. 13 9月, 2019 1 次提交
  17. 05 9月, 2019 2 次提交
    • C
      pkg/dwarf/frame/parser: Fix `parse augmentation` (#1679) · 69e6b613
      chainhelen 提交于
      According to the description of "CIE: length, CIE_id, version, augmentation"
      in Page 122 of  http://dwarfstd.org/doc/Dwarf3.pdf ,
      `augmentation` should exclude `version`
      69e6b613
    • H
      proc: round TLS segment size to its alignment (#1682) · 8954858e
      Heschi Kreinick 提交于
      The fix for #1428 was buggy, partly because I communicated poorly. Sorry
      about that.
      
      The size of the TLS segment should be padded such that TLS addresses
      are congruent in the file to where they will end up memory, i.e.
      (tlsoffset%align) == (vaddr%align). In most cases, vaddr will be aligned
      and it won't matter, but if not then simply aligning the end of the
      segment is incorrect. This should be right.
      
      (For the record, the current rounding logic is working in bits, but
      PtrSize is in bytes, so it wasn't working as originally intended
      either.)
      8954858e
  18. 28 8月, 2019 1 次提交
    • D
      all: Version 1.3.0 (#1680) · dd3c2d63
      Derek Parker 提交于
      * all: Bump to v1.3.0
      
      Add new version to CHANGELOG and update internal version.
      
      Thank you @Ladicle, @qaisjp, @justinclift, @tschundler, @two,
      @dpapastamos, @qingyunha, @rayrapetyan, @briandealwis and @msaf1980,
      @jeremyfaller, @stmuk, @dr2chase, @pjot726.
      
      * all: Add date to changelog
      dd3c2d63