1. 21 Feb, 2017 2 commits
  2. 20 Feb, 2017 4 commits
    • 4ast's avatar
      Merge pull request #992 from goldshtn/trace-argdist-usdt-arg · 0af31efb
      4ast authored
      trace, argdist: Treat small USDT arguments correctly
      0af31efb
    • Sasha Goldshtein's avatar
      trace, argdist: Treat small USDT arguments correctly · 3a5256f1
      Sasha Goldshtein authored
      trace and argdist currently only work correctly for USDT arguments
      whose size is exactly 8 bytes. Smaller types, such as chars, shorts,
      ints (signed or unsigned) are not treated correctly. The reason is
      that the produced program would invoke the `bpf_usdt_readarg` helper
      with the address of a u64 local variable, and then cast that variable
      to the user-specified type derived from the format string. However,
      the `bpf_usdt_readarg` rewriting then passes `sizeof(u64)` to the
      generated `bpf_..._readarg` macro, which then fails to read anything
      because the provided size doesn't match the argument size it knows
      about.
      
      The fix is fairly easy: instead of declaring a u64 unconditionally
      and reading into that variable with `bpf_usdt_readarg`, declare a
      variable that has the correct type according to what we know about
      the USDT probe.
      3a5256f1
    • 4ast's avatar
      Merge pull request #989 from pchaigno/fix-fd-leak · 203fd276
      4ast authored
      Fix file descriptor leak
      203fd276
    • Paul Chaignon's avatar
      Fix file descriptor leak · 29195875
      Paul Chaignon authored
      29195875
  3. 19 Feb, 2017 1 commit
    • Sasha Goldshtein's avatar
      Support base + index * scale addressing for USDT arguments · 8698bdb0
      Sasha Goldshtein authored
      It turns out that some software will have USDT probe arguments
      referencing memory using the full `nnn@(%basereg + %idxreg * scale`
      syntax. This is represented as `nnn@(%basereg,%idxreg,scale)` in
      the `NT_STAPSDT` note, encountered in building a recent version of
      PostgreSQL on FC25.
      
      This format is now recognized by the USDT parser, and the correct
      BPF code is emitted to retrieve arguments that reference memory
      using this full addressing syntax.`
      8698bdb0
  4. 16 Feb, 2017 10 commits
  5. 15 Feb, 2017 4 commits
  6. 14 Feb, 2017 9 commits
  7. 13 Feb, 2017 10 commits