Open Bug 1277320 Opened 3 years ago Updated 2 years ago

Get GTests working on Windows PGO builds


(Testing :: GTest, defect)

Version 3
Not set


(Not tracked)


(Reporter: RyanVM, Unassigned)


GTests on Windows PGO builds are currently broken and hidden on Treeherder. My understanding is that this was an intentional decision made to avoid lengthening the already-long PGO build times due to having to link everything twice.

The big trade-off to this decision is that it leaves us with effectively zero Windows opt GTest coverage on the release branches. On the builds that go out to 90+% of our users. Which seems like a Bad thing.

Now that we've clawed back a lot of PGO build time wins, I think we should revisit the earlier decision and consider re-enabling them.
I'm not entirely sure this will be useful, to be honest. The problem is that xul.dll and xul-gtest.dll *are not the same binary*. When we re-link xul.dll using the profiling info, we can't use that same profiling info to re-link xul-gtest.dll, it's just not valid for that binary. That means that we'd wind up re-linking xul-gtest.dll and generating different code than exists in xul.dll, so the tests wouldn't actually test anything meaningful anyway.

Unfortunately this is a hard problem and I don't know a way to solve it.
For perpetuity's sake, it may be worth trying to get MSVC to use the xul.pgd files for xul-gtest.dll.

Not sure if that'd actually work in practice, but in theory that would at least give us reasonably-comparable end results for both DLLs.
Component: General → GTest
You need to log in before you can comment on or make changes to this bug.