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

Full tracepoint support in Clang front-end #602

Merged
merged 4 commits into from
Jul 11, 2016

Commits on Jul 9, 2016

  1. bcc: Auto-tracepoints similar to auto-kprobes

    When a function in the BPF program starts with "tracepoint__", parse
    the rest of the name as a tracepoint category and name and attach the
    tracepoint automatically. For example:
    
    ```
    int tracepoint__sched__sched_switch(...)
    ```
    
    As a result, the sched:sched_switch tracepoint is enabled and the function
    is attached to that tracepoint.
    goldshtn committed Jul 9, 2016
    Configuration menu
    Copy the full SHA
    619fc14 View commit details
    Browse the repository at this point in the history
  2. cc: Rewrite probe functions that refer to tracepoint structures

    When a probe function refers to a tracepoint arguments structure,
    such as `struct tracepoint__irq__irq_handler_entry`, add that structure
    on-the-fly using a Clang frontend action that runs before any other
    steps take place.
    
    Typically, the user will create tracepoint probe functions using
    the TRACEPOINT_PROBE macro, which avoids the need for specifying
    the tracepoint category and event twice in the signature of the
    probe function.
    goldshtn committed Jul 9, 2016
    Configuration menu
    Copy the full SHA
    fab68e3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d9c243e View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2016

  1. cc: Use manual parsing instead of std::regex

    Older versions of GCC don't support std::regex even though they support
    most of C++11. To avoid breaking the build on older systems, such as
    Ubuntu 14.04, use manual parsing instead of std::regex.
    goldshtn committed Jul 11, 2016
    Configuration menu
    Copy the full SHA
    0e288ad View commit details
    Browse the repository at this point in the history