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

Experimental tracepoint support #1084

Open
wants to merge 3 commits into
base: rust-next
Choose a base branch
from

Commits on Jun 6, 2024

  1. rust: add static_call support

    Add static_call support by mirroring how C does. When the platform does
    not support static calls (right now, that means that it is not x86),
    then the function pointer is loaded from a global and called. Otherwise,
    we generate a call to a trampoline function, and objtool is used to make
    these calls patchable at runtime.
    
    Signed-off-by: Alice Ryhl <[email protected]>
    Darksonn committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    f791f34 View commit details
    Browse the repository at this point in the history
  2. rust: add static_key_false

    Add just enough support for static key so that we can use it from
    tracepoints. Tracepoints rely on `static_key_false` even though it is
    deprecated, so we add the same functionality to Rust.
    
    Signed-off-by: Alice Ryhl <[email protected]>
    Darksonn committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    38720c0 View commit details
    Browse the repository at this point in the history
  3. rust: add tracepoint support

    Make it possible to have Rust code call into tracepoints defined by C
    code. It is still required that the tracepoint is declared in a C
    header, and that this header is included in the input to bindgen.
    
    Signed-off-by: Alice Ryhl <[email protected]>
    Darksonn committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    9d0346a View commit details
    Browse the repository at this point in the history