[llvm] [gSYM] Add support merged functions in gSYM format (PR #101604)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 2 15:19:19 PDT 2024
alx32 wrote:
> Does `--keep-icf-stabs` enable our new attribute?
`--keep-icf-stabs` is a flag in the linker that tells the linker to export symbol entries for merged functions. The dSYM will include information for a function only if its symbol was specified as a stabs entry. So if the `--keep-icf-stabs` is not specified to the linker, the symbols for the merged function will not be present in the binary's stabs entries, so `dsymutil` will not include any information about the merged function in the `dSYM`, and no information about merged functions will reach the `gSYM`.
> We might want a flag to llvm-gsymutil that enabled merged functions and it must be specified manually to get this info included. Otherwise the size of some gSYM file might increase by a lot
Sounds good, I'll add one.
> We either need to auto detect from llvm-gsymutil if we should enable this, or enable it manually via an extra option to llvm-gsymutil
Yes, let's go with an explicit flag to enable this behavior.
> yes, I think we should mainly because this can increase the size of the GSYM file.
👍
> It won't require anything right now, clients can get all the results back and then figure the info out themselves right?
The merge function information will be available to clients, yes, via `llvm-gsymutil --verify --verbose` that shows output such as [this gist](https://gist.github.com/alx32/15e497aabb434e6485168003d6441dd2).
However, to actually utilize the merged function information, we would also need information about which function calls what other function - which will require additional changes to the gSYM - that one will be a follow-up RFC.
https://github.com/llvm/llvm-project/pull/101604
More information about the llvm-commits
mailing list