1. 25 9月, 2021 1 次提交
  2. 24 8月, 2021 1 次提交
    • D
      pkg/proc: Parse Goroutine ID in eBPF tracer (#2654) · 1b2f7f00
      Derek Parker 提交于
      This patch enables the eBPF tracer backend to parse the ID of the
      Goroutine which hit the uprobe. This implementation is specific to AMD64
      and will have to be generalized further in order to be used on other
      architectures.
      1b2f7f00
  3. 25 7月, 2021 1 次提交
  4. 13 7月, 2021 1 次提交
  5. 08 7月, 2021 1 次提交
    • A
      Go 1.17 support branch (#2451) · f0a32c8e
      Alessandro Arzilli 提交于
      * proc: support new Go 1.17 panic/defer mechanism
      
      Go 1.17 will create wrappers for deferred calls that take arguments.
      Change defer reading code so that wrappers are automatically unwrapped.
      
      Also the deferred function is called directly by runtime.gopanic, without going through runtime.callN which means that sometimes when a panic happens the stack is either:
      
      0. deferred function call
      1. deferred call wrapper
      2. runtime.gopanic
      
      or:
      
      0. deferred function call
      1. runtime.gopanic
      
      instead of always being:
      
      0. deferred function call
      1. runtime.callN
      2. runtime.gopanic
      
      the isPanicCall check is changed accordingly.
      
      * test: miscellaneous minor test fixes for Go 1.17
      
      * proc: resolve inlined calls when stepping out of runtime.breakpoint
      
      Calls to runtime.Breakpoint are inlined in Go 1.17 when inlining is
      enabled, resolve inlined calls in stepInstructionOut.
      
      * proc: add support for debugCallV2 with regabi
      
      This change adds support for the new debug call protocol which had to
      change for the new register ABI introduced in Go 1.17.
      
      Summary of changes:
      - Abstracts over the debug call version depending on the Go version
        found in the binary.
      - Uses R12 instead of RAX as the debug protocol register when the binary
        is from Go 1.17 or later.
      - Creates a variable directly from the DWARF entry for function
        arguments to support passing arguments however the ABI expects.
      - Computes a very conservative stack frame size for the call when
        injecting a call into a Go process whose version is >=1.17.
      Co-authored-by: NMichael Anthony Knyszek <mknyszek@google.com>
      Co-authored-by: NAlessandro Arzilli <alessandro.arzilli@gmail.com>
      
      * TeamCity: enable tests on go-tip
      
      * goversion: version compatibility bump
      
      * TeamCity: fix go-tip builds on macOS/arm64
      Co-authored-by: NMichael Anthony Knyszek <mknyszek@google.com>
      f0a32c8e
  6. 13 4月, 2021 1 次提交
  7. 26 1月, 2021 1 次提交
    • A
      Change TeamCity test matrix and drop appveyor/travis-ci configurations (#2315) · 715224ce
      Alessandro Arzilli 提交于
      * TeamCity: change test matrix and test scripts
      
      Changes test matrix to test:
      
      * 1.13 through 1.16 on linux/amd64
      * 1.15, 1.16 on windows/amd64
      * 1.15 on linux/386
      
      Also includes tests on go-tip for windows/amd64 and linux/amd64
      (currently disabled, but can be turned on in a PR).
      
      Changes test scripts to automatically select the latest patch version
      of Go.
      
      * CI: remove Travis-CI and Appveyor configuration
      715224ce
  8. 18 1月, 2021 1 次提交
    • A
      Introduce TeamCity builds (#2298) · f2ec3e49
      Artem Khvastunov 提交于
      * add -json flag when running tests on TeamCity
      
      * introduce TeamCity builds
      
      * restore gdbserial constants for 386
      
      Otherwise compilation fails.
      
      * skip TestAttachRequest on Windows as it never finishes
      
      * run tests on 1.16beta1
      f2ec3e49