-
Notifications
You must be signed in to change notification settings - Fork 0
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
Upstreaming LLVM XRay shared object support #2
Comments
Hey, great that you reach out. The support has been upstreamed and should be available as part of current LLVM development. |
Thanks for your reply! Is it a part of the LLVM 20 release or is it currently only available at the development branch? |
FWIW, compiling the latest LLVM and trying a simple test with a shared object isn't working "in the traditional way" - the functions are invisible in the output JSON produced by Dump of assembler code for function _Z8shared_fi: Dump of assembler code for function main: Should one "opt in" for shared library instrumentation, at LLVM build time / client program runtime / trace decoding time / a subset of the above? Or, did I just clone the wrong version (I did |
I think I found the commit adding shared object support to XRay - please correct me if this is already outdated and there are later commits extending on this one (beyond machine architecture support): Author: Sebastian Kreutzer SebastianKreutzer@gmx.net
I understand from the commit message as well as from briefly testing with the new -fxray-shared compiler flag that support for tracing function calls in shared objects is implemented at build time and run time / tracing time, but function IDs from shared objects recorded in the trace aren't decoded to their symbolic names ATM - again, please correct me if I'm wrong:
Thus decoded traces look something like this - the numeric IDs correspond to function calls from shared objects:
|
Hi! Glad to hear that you are interested in this feature. You are correct, the builtin XRay modes currently do not support function resolution for shared library calls. I'm working on a patch that solves this issues, by extending the format to allow explicitly embedding function information. A prototype implementation (currently restricted to the |
Thanks for your response and your work! |
Not sure this is an "issue" - just don't know of another way to communicate on github... - but, was LLVM XRay shared object support upstreamed to the LLVM project/is there an intent to upstream it?
The text was updated successfully, but these errors were encountered: