gecko-dev/python
Mike Hommey 8b091c97fd Bug 1464522 - Count static initializers from the crash reporter symbol files. r=froydnj
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
2018-05-29 08:48:47 +09:00
..
devtools/migrate-l10n
docs Backed out 3 changesets (bug 1346026) for Bugzilla linting 2018-05-23 19:42:13 +03:00
l10n/fluent_migrations Bug 1460806 - Clean up Fluent migration recipes r=gandalf 2018-05-11 08:12:52 +02:00
mach Bug 1453426 - Kill invoked process on keyboard interrupt in mach build. r=mshal 2018-04-17 15:30:27 -07:00
mozboot Bug 1462444 - Make |mach bootstrap| use the latest version of Oracle's JDK when bootstrapping Fennec on Gentoo; r=nalexander 2018-05-17 21:44:26 +02:00
mozbuild Bug 1464522 - Count static initializers from the crash reporter symbol files. r=froydnj 2018-05-29 08:48:47 +09:00
mozlint Bug 1460690 - [mozlint] Make sure vcs_paths are always joined to the repository root, r=standard8 2018-05-11 11:13:36 -04:00
mozrelease Bug 1453274 - Bump mozrelease in tree version, to distinguish it from the pypi mirror version. r=rail 2018-04-24 21:55:22 -04:00
mozterm Bug 1434430 - [flake8] Fix blank 'except' statements r=rwood 2018-01-31 14:32:08 -05:00
mozversioncontrol Bug 1405588 - [mozversioncontrol] Use base_ref instead of upstream as default outgoing comparison on git, r=gps 2017-11-01 12:57:03 -04:00
mach_commands.py Bug 1451501 - Fix error trying to run python-tests via |mach test|, r=gps,whimboo 2018-04-04 17:30:22 -04:00
moz.build Bug 1453274 - Add testing for python/mozrelease/versions.py r=rail 2018-04-23 12:40:26 -04:00
README

This directory contains common Python code.

The basic rule is that if Python code is cross-module (that's "module" in the
Mozilla meaning - as in "module ownership") and is MPL-compatible, it should
go here.

What should not go here:

* Vendored python modules (use third_party/python instead)
* Python that is not MPL-compatible (see other-licenses/)
* Python that has good reason to remain close to its "owning" (Mozilla)
  module (e.g. it is only being consumed from there).

Historical information can be found at
https://bugzilla.mozilla.org/show_bug.cgi?id=775243
https://bugzilla.mozilla.org/show_bug.cgi?id=1346025