mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-02 10:00:54 +00:00
8b091c97fd
The crash reporter symbol files are the easiest cross-platform way to find static initializers. While some types of static initializers (e.g. __attribute__(constructor) functions) don't appear there in a notable way, the static initializers we do care the most about for tracking do (static initializers from C++ globals). As a matter of fact, there is only a difference of 2 compared to the currently reported count of 125 on a linux64 build, so this is a good enough approximation. And allows us to easily track the count on Android, OSX and Windows builds, which we currently don't do. The tricky part is that the symbol files are in dist/crashreporter-symbols/$lib/$fileid/$lib.sym, and $fileid is hard to figure out. There is a `fileid` tool in testing/tools, but it is a target binary, meaning it's not available on cross builds (OSX, Android). So the simplest is just to gather the data while creating the symbol files, which unfortunately requires to go through some hoops to make it happen for just the files we care about. --HG-- extra : rebase_source : 458fed1ffd6f9294eefef61f10ff7a284af0d986 |
||
---|---|---|
.. | ||
dummydll | ||
gtest | ||
rust | ||
StaticXULComponentsEnd | ||
dependentlibs.py | ||
gecko.natvis | ||
gen_symverscript.py | ||
libxul.mk | ||
libxul.so-gdb.py.in | ||
Makefile.in | ||
moz.build | ||
nsDllMain.cpp | ||
StaticXULComponents.ld | ||
StaticXULComponentsStart.cpp | ||
symverscript.in | ||
xulrunner.rc |