Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

trace, tplist, argdist: UDST probe miscellaneous fixes #909

Merged
merged 5 commits into from
Jan 17, 2017

Commits on Jan 17, 2017

  1. tplist: Print one-based location and argument indices

    The `trace` and `argdist` tools expect location and argument indices
    to start at 1 -- the first argument is arg1, and so on. The `tplist`
    tool now prints UDST argument indices (and location indices, for
    consistency) as 1-based as well.
    goldshtn committed Jan 17, 2017
    Configuration menu
    Copy the full SHA
    50486ff View commit details
    Browse the repository at this point in the history
  2. argdist: Generated streq-helper to ignore null terminator

    Oftentimes we want to use the STRCMP helper to compare strings that
    are not null-terminated, e.g. in USDT probes this often happens.
    Ignore the null terminator (i.e. loop until the last character
    excluding the null terminator).
    goldshtn committed Jan 17, 2017
    Configuration menu
    Copy the full SHA
    fd44cd2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b9aec34 View commit details
    Browse the repository at this point in the history
  4. trace: Use correct argument index and tgid for filters

    `trace` would use the incorrect argument index for USDT probes when
    filtering specifically, e.g. `trace u:lib:tp (arg1 != 0) ...` would
    actually use the type of the 2nd argument, and not the 1st argument
    for the type of the filter variable in the generated program. This
    could cause compilation errors or subtle bugs where the data would
    be either extended or contracted to fit the wrong argument's type.
    
    Additionally, `trace` would use the pid (thread id, `-L`) filter
    with the `attach_uprobe` API, which expects a tgid (process id).
    As a result, incorrect filtering would happen.
    goldshtn committed Jan 17, 2017
    Configuration menu
    Copy the full SHA
    b630092 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    dcf1675 View commit details
    Browse the repository at this point in the history