SxS assemblies do not obey the usual DLL search order. It will make it possible
to load mozglue.dll from appdir even if the PreferSystem32Images mitigation is
enabled and System32 has a random mozglue.dll.
This includes both the vanilla sources we haven't forked and the client
sources that we have. Client patches were applied manually up to version
69c2c51dd89965d234eec16e3a9353634831916b. The following changes were not
included as they break merging segments corresponding to libxul.so in the
module list:
8915f7be39448d9257b6da3ad0233944d1d9a92a
17ad0c18b179c135fc5a3d2bba199c3fa4276035
94b6309aecaddfcf11672f6cfad9575d68ad3b40
With these changes applied two entries for libxul.so are generated, the second
one is bogus and prevents symbolication from working correctly.
The build system and some of the tools relying on breakpad were also updated
to work with the new version.
--HG--
extra : source : fe4d49307f8890a0c430c257c96f74a9552eeb31
extra : histedit_source : bc84861445bd93856cd0d0c864fd15ad7d9ccc12%2C1efd65797da46e33481afa61a302098780b0f107
We want to send information about the organization whose cert was used to sign
modules in our address space. Originally I had written this code to accumulate
that info within Firefox, but I realized that a better option is to do this
from the minidump analyzer:
(1) This way does not affect browser performance;
(2) This way allows us to properly gather cert info even from startup crashes.
This functionality was reviewed for data collection via bug 1430857.
I have already implemented code to check binary signatures in mozglue so that
we can do so from both firefox.exe and xul.dll.
Rather than including yet another implementation elsewhere, I'd rather just
reuse that code by building minidump-analyzer as a GeckoProgram with Null
XPCOM linkage, thus making it capable of using the mozglue implementation too.
I'd also like to add this signature stuff to Mac builds at some point, so I'm
trying to make this functionality as easy as possible to expand and reuse in the
future.
This includes tests that cover both regular CFI stack walking as well as
pathological corner cases.
MozReview-Commit-ID: GDARnPSemyu
--HG--
extra : source : 1b65c0b41ac31f3645b2318b47072a1100c13183
This includes tests that cover both regular CFI stack walking as well as
pathological corner cases.
MozReview-Commit-ID: GDARnPSemyu
--HG--
extra : rebase_source : 99920e03174824020e4b80269c44f34b93b0364a
extra : source : 0560939928bb0f2fe019fa800fe8ee7663db4b8f
This modifies the minidump analyzer to only output the crashing thread's stack
when invoked. This reduces the raw size of the crash ping by 50% to 70%
depending on the program state when the crash occurred. The minidump-analyzer
can still produce the complete output when invoked with the '--full' option.
MozReview-Commit-ID: 8KaITWqfBKR
--HG--
extra : rebase_source : b71bd47ea1df4fa8fa3da013aef2612a073a42d2