Make dart build
/ dart compile exe
/ dart compile aot-snapshot
produce code that can be profiled with native profilers
#54254
Labels
area-vm
Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
P3
A lower priority bug or feature request
triaged
Issue has been triaged by sub team
type-enhancement
A request for a change that isn't a bug
By default our AOT compiler (
gen_snapshot
) emits static symbols (that users can, if they want to, strip). Though that's not sufficient for native profiling tools to work properly:dart compile exe
: We don't link the AOT compiled code statically into the binary, it's somewhat hidden as an inner ELF section, using our custom ELF loader. Makingperf
not be able to symbolize profilesdart compile aot-snapshot
: We always produce ELF. That makes linux profiles withperf
have symbols, but not on Mac / Windowsdart build
: Uses the aboveThe
dart build
must have (@dcharkes ?) logic to find assembler/compiler/linker installed on the system (as it passes paths to them to native asset build scripts). Could we use that and make the above tools by-default, if system-installed tools are available, producedylib
/.so
/.dll
files with symbols by using--snapshot-kind=app-aot-assembly
and then producing the shared library?If not by default, can we at least have a way for users to opt into the assembly behavior?
For context: See #54207
/cc @sstrickl @dcharkes
The text was updated successfully, but these errors were encountered: