Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a synthetic symbol for the entry point.
Before: https://share.firefox.dev/3Iw19eq After: https://share.firefox.dev/3wGBXPA On my version of Ubuntu, the caller of dl_start in ld-linux-x86-64.so.2 didn't have a synthetic symbol - it was just a free-standing address. The address is inside the "entry point" function. In the .eh_frame unwind information, this part of this binary is not covered by an FDE, so we didn't create a synthetic symbol based on unwind information in the past. With this commit, we use the binary's entry point address to create another synthetic symbol. In the Firefox profiler, this allows the root function to be double-clicked and its assembly code to be inspected. With just the address we weren't able to do that because we didn't know where to start and stop disassembling. To capture a profile like the one in the links above, use `cargo run --release -- record --iteration-count 2 -r 10000 rustup check` and then look at the thread for the second invocation. The first invocation seems to be missing the very start of the process, i.e. it looks the sample data is only captured after `dl_start` has already finished running.
- Loading branch information