searching for reviewer(froydnj)
9ea0f247d46e41cfa4dd329da3c9b52075f100f0: Bug 1656526 - Update sccache to latest r=froydnj
Doug Thayer <dothayer@mozilla.com> - Tue, 15 Sep 2020 14:50:28 +0000 - rev 614098
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1656526 - Update sccache to latest r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89670
1eed063f5bdcab4aeb2a8221fecc2997723fa246: Bug 1649596: Use IOUtils instead of OS.File in CrashService.jsm r=froydnj
Keefer Rourke <krourke@mozilla.com> - Tue, 15 Sep 2020 18:27:35 +0000 - rev 614080
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1649596: Use IOUtils instead of OS.File in CrashService.jsm r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D87495
b0fabcd604300d90544aa626daf1c60637148349: Bug 1654807 - update thin-vec to 0.2.1 for potential endianess fix. r=froydnj
Alexis Beingessner <a.beingessner@gmail.com> - Mon, 14 Sep 2020 17:32:40 +0000 - rev 613866
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1654807 - update thin-vec to 0.2.1 for potential endianess fix. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D87019
c4c28826113013e15652e5cb2a895d5001d64353: Bug 1657033 - There is no more need for JSONWriteFunc::WriteLiteral - r=froydnj
Gerald Squelart <gsquelart@mozilla.com> - Mon, 14 Sep 2020 01:48:39 +0000 - rev 613774
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1657033 - There is no more need for JSONWriteFunc::WriteLiteral - r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D86193
1ca083fa608514552bf15bd73509b715bee2337f: Bug 1657033 - Use Span<const char> in JSONWriter - r=froydnj
Gerald Squelart <gsquelart@mozilla.com> - Mon, 14 Sep 2020 02:33:20 +0000 - rev 613773
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1657033 - Use Span<const char> in JSONWriter - r=froydnj In most situations, JSONWriter users already know string lengths (either directly, or through `nsCString` and friends), so we should keep this information through JSONWriter and not recompute it again. This also allows using JSONWriter with sub-strings (e.g., from a bigger buffer), without having to create null-terminated strings. Public JSONWriter functions have overloads that accept literal strings. Differential Revision: https://phabricator.services.mozilla.com/D86192
8f7f82d3647b867811784eb68a0b82ac570fdc6c: Bug 1657033 - Make `MakeStringSpan` constexpr - r=froydnj
Gerald Squelart <gsquelart@mozilla.com> - Mon, 14 Sep 2020 01:44:39 +0000 - rev 613772
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1657033 - Make `MakeStringSpan` constexpr - r=froydnj MakeStringSpan("...") will be able to construct spans from string literals at compile time. Differential Revision: https://phabricator.services.mozilla.com/D86190
fd69e6e9b493436843e781bda6af86e12ebab039: Bug 1664210 - Firefox on Solaris should not link with libdemangle and libelf r=froydnj
Petr Sumbera <petr.sumbera@oracle.com> - Mon, 14 Sep 2020 06:57:26 +0000 - rev 613768
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1664210 - Firefox on Solaris should not link with libdemangle and libelf r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89781
63b8140d1a737c47ecff526cc3271ee732b41e04: Bug 1662608 - Set -fcrash-diagnostics-dir in build-clang.py r=froydnj
David Major <dmajor@mozilla.com> - Thu, 10 Sep 2020 20:25:54 +0000 - rev 613759
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662608 - Set -fcrash-diagnostics-dir in build-clang.py r=froydnj This will let us get reproducers for compiler self-host assertion failures. Differential Revision: https://phabricator.services.mozilla.com/D89079
b45c432bf88f4f158225ba3c95d2d243b7707c5e: Bug 1664482 - Make UPLOAD_DIR before referencing it in build-sm.sh r=froydnj
David Major <dmajor@mozilla.com> - Fri, 11 Sep 2020 16:24:25 +0000 - rev 613634
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1664482 - Make UPLOAD_DIR before referencing it in build-sm.sh r=froydnj The script uses the `cd $FOO && pwd` trick to fix the path style on Windows, but currently this happens before the `mkdir`, so we get an incorrect result: ``` [task 2020-09-11T03:38:59.656Z] ++ cd Z:/task_1599794667/public/build [task 2020-09-11T03:38:59.656Z] ./src/taskcluster/scripts/builder/build-sm.sh: line 10: cd: Z:/task_1599794667/public/build: No such file or directory [task 2020-09-11T03:38:59.656Z] ++ pwd [task 2020-09-11T03:38:59.657Z] + export MOZ_UPLOAD_DIR=/z/task_1599794667 ``` Differential Revision: https://phabricator.services.mozilla.com/D89925
24648c48a49cc229f8839d19c22fb2626f767c82: Bug 1656526 - Update sccache to latest r=froydnj
Doug Thayer <dothayer@mozilla.com> - Fri, 11 Sep 2020 14:14:10 +0000 - rev 613619
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1656526 - Update sccache to latest r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89670
b0e9cfc9e157c5e0e8cc2d1816eadc2cd994aab0: Bug 1663418 - Faster path for ContentProcess in RequestProcInfo;r=froydnj
David Teller <dteller@mozilla.com> - Fri, 11 Sep 2020 07:01:48 +0000 - rev 613574
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1663418 - Faster path for ContentProcess in RequestProcInfo;r=froydnj Prior to this patch, RequestProcInfo attempts to examine all processes from mozilla::ipc::GeckoChildProcessHost::GetAll callbacks. This causes two issues: - lifetime management for raw `ContentProcess*` used during the callbacks works but is complicated to audit; - for each `GeckoChildProcessHost` identified as a `ContentProcess`, we need to perform a linear lookup within content processes during each callback, which makes the code O(n^2) where n is the number of content processes. This patch rewrites this section of `RequestProcInfo` by splitting it as follows: 1. We use the same `GeckoChildProcessHost::GetAll` callback to examine non-ContentProcess, without any lookup. 2. We use the list of `ContentProcess` to examine ContentProcesses, without any lookup. As a bonus, new code is not as deeply nested. Differential Revision: https://phabricator.services.mozilla.com/D89364
e78791b93526ce4ecce2db0726b13d414d17b9b0: Bug 1308104 - Replace PL_strchr with a safer Gecko string class or function commandlines/ r=froydnj
Nicklas Boman <smurfd@gmail.com> - Thu, 10 Sep 2020 17:38:30 +0000 - rev 613497
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1308104 - Replace PL_strchr with a safer Gecko string class or function commandlines/ r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89325
648847a283fee86129c19b06b4d40804bee8d3dc: Bug 1663898: Really enable Cranelift by default on aarch64 builds; r=froydnj
Benjamin Bouvier <benj@benj.me> - Wed, 09 Sep 2020 13:11:57 +0000 - rev 613420
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1663898: Really enable Cranelift by default on aarch64 builds; r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89600
f62d5479f756a1ecd7a1287938ea240bcc36785e: Bug 1663946 - Changed link to nsCOMPtr manual. r=froydnj DONTBUILD
Stefan Zabka <szabka@mozilla.com> - Wed, 09 Sep 2020 15:37:58 +0000 - rev 613276
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1663946 - Changed link to nsCOMPtr manual. r=froydnj DONTBUILD Differential Revision: https://phabricator.services.mozilla.com/D89616
d68723cf755619ceb57aad2bcb1d88de399deb2a: Bug 1656261 - Ensure we clean up after WriteToDisk r=froydnj
Doug Thayer <dothayer@mozilla.com> - Wed, 09 Sep 2020 13:42:27 +0000 - rev 613267
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1656261 - Ensure we clean up after WriteToDisk r=froydnj Given all of the MOZ_TRYs in WriteToDisk, it's entirely possible that we occasionally exit it before writing everything out. WriteToDisk additionally adds guards to try to ensure that we do not call it twice, and that we do not try to read things out of the file via the memmapped buffer after it has written to it. The latter should not generally be a problem, since we write to a temp file and move that over at the end. However, writing twice could be a problem as we modify our values' mOffsets to keep track of their offsets within the resulting file. Accordingly, this change simply moves the cleanup and guards into an RAII helper to ensure they survive all of the early returns. Differential Revision: https://phabricator.services.mozilla.com/D89253
0294558b595fc667212d4070d7bd72c7c4ddbbb6: Bug 1663613 - Add missing include directive in generated ErrorList.h. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Tue, 08 Sep 2020 11:29:17 +0000 - rev 613231
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1663613 - Add missing include directive in generated ErrorList.h. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89432
078c665f55233128c96a70713bac119e8fb8cc5a: Bug 1663628 - Make Maybe::extract work with MOZ_NON_AUTOABLE type T. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Tue, 08 Sep 2020 13:22:16 +0000 - rev 613183
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1663628 - Make Maybe::extract work with MOZ_NON_AUTOABLE type T. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89445
e2cede25c027940ca4b36917a31163c278a4411f: Bug 1663715 - Update syn and proc-macro2 so that Firefox can build on Rust nightly again. r=froydnj
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 08 Sep 2020 17:00:48 +0000 - rev 613180
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1663715 - Update syn and proc-macro2 so that Firefox can build on Rust nightly again. r=froydnj Generated with: cargo update -p syn --precise 1.0.40 ./mach vendor rust Rust issue: https://github.com/rust-lang/rust/issues/76482 Differential Revision: https://phabricator.services.mozilla.com/D89473
1d92340a0f3c2b5039fc1ba090b0a5cc9dcbe9a6: Bug 1662608 - Set -fcrash-diagnostics-dir in build-clang.py r=froydnj CLOSED TREE
David Major <dmajor@mozilla.com> - Wed, 02 Sep 2020 00:27:12 +0000 - rev 613177
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662608 - Set -fcrash-diagnostics-dir in build-clang.py r=froydnj CLOSED TREE This will let us get reproducers for compiler self-host assertion failures. Differential Revision: https://phabricator.services.mozilla.com/D89079
0a477b894943f107007b38c9bad27572b6206a77: Bug 1659185 - Use child process crash annotations when generating hang reports; r=dmajor,froydnj
Gabriele Svelto <gsvelto@mozilla.com> - Mon, 07 Sep 2020 16:02:26 +0000 - rev 613062
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1659185 - Use child process crash annotations when generating hang reports; r=dmajor,froydnj When generating a hang report we need to force a hung child process to return its annotation via the pipe that connects it to the main process. Since the child is not responding to regular IPC messages we force it to using platform-specific code: * On Windows we launch a new thread using CreateRemoteThread() that will invoke the code used to send the crash annotations. The Windows-specific code also has another slight modification: it stored the pipe used to send the annotations in Breakpad's minidump callback context. This patch moves it into the `gChildCrashAnnotationReportFd` global which is what all the other platforms use. * On Linux/macOS we use a signal handler for the SIGTERM signal. It would be simpler to use SIGUSR1 or another signal that doesn't have special meanings, but those are all already in use in Gecko (either by jprof or the gcov machinery). We don't install SIGTERM handlers for anything else but obvioulsy its semantics get in the way since it's used to politely kill a process, and Chromium IPC also uses it for that purpose. So to tell apart our use of SIGTERM from a "regular" terminating SIGTERM we send a magic value along using sigqueue(). Our signal handler will look for it and only send annotations when it is set. If the magic number isn't there it will re-install the default SIGTERM handler and raise the signal once more which will lead to the process being terminated as it should be. The patch refactors some of the code so that the PIDs and process/file handles use platform-independent types to cut down on the amount of duplication we have there. Differential Revision: https://phabricator.services.mozilla.com/D87759
ec8e1f8d7d7d710b8fcff92745d192a748d828ee: Bug 1652785 - Extract title, uri, window id for content processes;r=froydnj
David Teller <dteller@mozilla.com> - Mon, 07 Sep 2020 10:26:30 +0000 - rev 613012
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1652785 - Extract title, uri, window id for content processes;r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D87972
efdd8cffde2b88c618bc8cba0c98ace32261b708: Bug 1652785 - Extract title, uri, window id for content processes;r=froydnj
David Teller <dteller@mozilla.com> - Wed, 02 Sep 2020 12:59:49 +0000 - rev 612966
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1652785 - Extract title, uri, window id for content processes;r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D87972
9380c5da94acb85ad6c1df782e02ccd0476af01e: Bug 1661242 - Declare nsCOMPtr_base::begin_assignment MOZ_ALWAYS_INLINE in release builds. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Thu, 03 Sep 2020 14:45:09 +0000 - rev 612946
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661242 - Declare nsCOMPtr_base::begin_assignment MOZ_ALWAYS_INLINE in release builds. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89248
8e008c82f9a6c732459d4831ce9e108ae51a435f: Bug 1661428 - Support PackingVariant::NullIsOk also with non-trivially-default-constructible V. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Thu, 03 Sep 2020 14:14:41 +0000 - rev 612945
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661428 - Support PackingVariant::NullIsOk also with non-trivially-default-constructible V. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88444
9bee160837674106241e37c1ab366bcb3bf3c998: Bug 1661457 - Add in-place constructor to CompactPair. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 17:56:35 +0000 - rev 612934
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661457 - Add in-place constructor to CompactPair. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88418
37a26293a149238292a7e4d7dfbce214b736fbc9: Bug 1661502 - Make Result move-only. r=froydnj,jandem
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 17:56:23 +0000 - rev 612933
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661502 - Make Result move-only. r=froydnj,jandem Differential Revision: https://phabricator.services.mozilla.com/D88443
fe8e9781cc249630a706b9272d95e247cd67e6fa: Bug 1661497 - Make DebugOnly work with move-only value types. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 17:56:10 +0000 - rev 612932
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661497 - Make DebugOnly work with move-only value types. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88442
82c1cec384318991c6e19e7e03954d90387c9e9a: Bug 1661428 - Use CompactPair instead of Variant for trivially default-constructible V and UnusedZero E. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 17:55:55 +0000 - rev 612931
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661428 - Use CompactPair instead of Variant for trivially default-constructible V and UnusedZero E. r=froydnj It seems that the clang toolchain has trouble optimizing away the tag access in a `mozilla::Variant`. Use of a `CompactPair` seems to be better when `E` is small (all cases where `UnusedZero<E>` is true are small right now anyway). While this doesn't change `sizeof(Result<V, E>)` in most cases, it makes the generated code simpler/smaller: As of now, this reduce the overall VM size of libxul.so by ca. 59K. Without additional effort, this requires and leads to default-construction of a `V` even in cases where it is never accessed, so this is restricted to trivially default-constructible `V` for now. This could be avoided by replacing `CompactPair<V, E>` by `CompactPair<AlignedStorage2<V>, E>`. Differential Revision: https://phabricator.services.mozilla.com/D88393
952e5212e142b31ddf20a13e17c4ffb8b18c8cf0: Bug 1662819 - Refactor `virtualenv` script path locating logic r=mhentges,froydnj
Ricky Stewart <rstewart@mozilla.com> - Wed, 02 Sep 2020 18:52:58 +0000 - rev 612834
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662819 - Refactor `virtualenv` script path locating logic r=mhentges,froydnj The ability to get the path to the Python executable from a given `virtualenv` location is generally useful outside the context of all the extra stuff a `VirtualenvManager` provides, so refactor it out into a lighter-weight helper class. Differential Revision: https://phabricator.services.mozilla.com/D89175
160ae29f296db5126a785041ec16da969a461d00: Bug 1662793 - Set `python` appropriately in `gyp_reader` r=froydnj
Ricky Stewart <rstewart@mozilla.com> - Wed, 02 Sep 2020 16:17:21 +0000 - rev 612832
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662793 - Set `python` appropriately in `gyp_reader` r=froydnj Otherwise `gyp` can choose incorrectly when trying to figure out which Python to use to run its internal scripts, which can manifest as test failures in certain circumstances. Differential Revision: https://phabricator.services.mozilla.com/D89165
4ab3e17f294403df0a9ee5a24c5dcaa0a24e867f: Bug 1662787 - Provide an environment variable to force running `mach python-test` command with Python 2 r=froydnj,firefox-build-system-reviewers,mhentges
Ricky Stewart <rstewart@mozilla.com> - Wed, 02 Sep 2020 16:21:42 +0000 - rev 612831
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662787 - Provide an environment variable to force running `mach python-test` command with Python 2 r=froydnj,firefox-build-system-reviewers,mhentges This is only useful for `mach` commands that we want to run with Python 3 by default, but for which running with Python 2 is still useful. We now have one such command: `python-test`. In `mach`, switch on the presence of the `MACH_PY2` environment variable. We only want to allow this for `python-test`, so do that sanity check in `mach` as well. Differential Revision: https://phabricator.services.mozilla.com/D89162
fbf42b3b51f3656119647ed6c613b02018ea7e54: Bug 1661428 - Support PackingVariant::NullIsOk also with non-trivially-default-constructible V. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 16:31:43 +0000 - rev 612804
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661428 - Support PackingVariant::NullIsOk also with non-trivially-default-constructible V. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88444
83f3f36d540feb915e072944a59d03e5629c91e6: Bug 1661457 - Add in-place constructor to CompactPair. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 16:23:13 +0000 - rev 612803
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661457 - Add in-place constructor to CompactPair. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88418
8a9dce0d08ce806a5ded605cc4dc016b89f7a555: Bug 1661502 - Make Result move-only. r=froydnj,jandem
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 16:23:01 +0000 - rev 612802
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661502 - Make Result move-only. r=froydnj,jandem Differential Revision: https://phabricator.services.mozilla.com/D88443
733df139089ab134647f33ccb1b18130ccd3f942: Bug 1661497 - Make DebugOnly work with move-only value types. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 16:22:38 +0000 - rev 612801
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661497 - Make DebugOnly work with move-only value types. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88442
fca770fc0956525d8b1809e7b95c5d5717bceb9e: Bug 1661428 - Use CompactPair instead of Variant for trivially default-constructible V and UnusedZero E. r=froydnj
Simon Giesecke <sgiesecke@mozilla.com> - Wed, 02 Sep 2020 16:22:25 +0000 - rev 612800
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661428 - Use CompactPair instead of Variant for trivially default-constructible V and UnusedZero E. r=froydnj It seems that the clang toolchain has trouble optimizing away the tag access in a `mozilla::Variant`. Use of a `CompactPair` seems to be better when `E` is small (all cases where `UnusedZero<E>` is true are small right now anyway). While this doesn't change `sizeof(Result<V, E>)` in most cases, it makes the generated code simpler/smaller: As of now, this reduce the overall VM size of libxul.so by ca. 59K. Without additional effort, this requires and leads to default-construction of a `V` even in cases where it is never accessed, so this is restricted to trivially default-constructible `V` for now. This could be avoided by replacing `CompactPair<V, E>` by `CompactPair<AlignedStorage2<V>, E>`. Differential Revision: https://phabricator.services.mozilla.com/D88393
fc60813b36e9b19e4f746601b5bf6b326a8c7e36: Bug 1662632 - Fix `UnboundLocalError` due to undefined variable `have_clone` in `mach bootstrap` r=froydnj
Ricky Stewart <rstewart@mozilla.com> - Wed, 02 Sep 2020 14:57:22 +0000 - rev 612770
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662632 - Fix `UnboundLocalError` due to undefined variable `have_clone` in `mach bootstrap` r=froydnj This consolidates the `have_clone` logic in one place unconditionally. After bug 1647792 we're deprecating the use case where `bootstrap` is run without a clone, so that's not a problem. In reality the whole `have_clone` thing isn't necessary any more (`have_clone` is always going to be `True` in practice), but I'll save that for a bigger refactoring. Differential Revision: https://phabricator.services.mozilla.com/D89152
a18bf0a6bbd12bfe9996d7751a4bb79c251557c9: Bug 1662705: Add an `--help` dependency to the JS simulator option; r=froydnj
Benjamin Bouvier <benj@benj.me> - Wed, 02 Sep 2020 12:37:33 +0000 - rev 612743
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1662705: Add an `--help` dependency to the JS simulator option; r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D89126
8330bf430968e523183c46106a2a00ca415e0f2f: Bug 1661094: Always define PKGCONF_REQUIRES_PRIVATE r=froydnj
Marco Trevisan <mail@3v1n0.net> - Wed, 02 Sep 2020 12:24:27 +0000 - rev 612742
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661094: Always define PKGCONF_REQUIRES_PRIVATE r=froydnj When configuring without system NSPR the configuration variable PKGCONF_REQUIRES_PRIVATE isn't ever set, leading to a .pc file that still contains the @PKGCONF_REQUIRES_PRIVATE@ stub. Ensure that we always define PKGCONF_REQUIRES_PRIVATE, by setting it to an empty string in case no system-nsrp is enabled. In this way, the pkg-config file stub will be always replaced. Differential Revision: https://phabricator.services.mozilla.com/D88179
8134800276e920f0ae7f83438d13fcea80d63776: Bug 1647792 - Standalone `bootstrap.py` script clones before running `mach bootstrap` r=mhentges,froydnj,mhoye
Ricky Stewart <rstewart@mozilla.com> - Tue, 01 Sep 2020 18:42:36 +0000 - rev 612599
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1647792 - Standalone `bootstrap.py` script clones before running `mach bootstrap` r=mhentges,froydnj,mhoye Note that when I refer to "standalone `bootstrap.py`" here, I'm referring to the file `python/mozboot/bin/bootstrap.py` and no other similarly-named file in-tree. The current design, where standalone `bootstrap.py` downloads a small portion of the `mozilla-central` repo and then works through all the `bootstrap` logic, performing a clone in the middle of the `bootstrap` process, has some deficiencies, namely: 1. Refactoring code that is shared between the `bootstrap` logic and the mainline `mach` logic is, if not impossible, more difficult than it needs to be, since standalone `bootstrap.py` needs to download a set of files that bootstraps a build environment perfectly with no other dependencies in `mozilla-central`. As a result we have some [duplicated or redundant code](https://searchfox.org/mozilla-central/rev/c6676771df58c6e0098574bc6b11517acbf264cf/python/mozboot/mozboot/base.py#349) and some stuff that has been [refactored into the `mozboot` directory](https://searchfox.org/mozilla-central/source/python/mozboot/mozboot/util.py) irrespective of whether it actually makes sense to go there (see bug 1649850). 2. Since `mach bootstrap` has access to the entire `mozilla-central` environment, but the (much less frequently exercised) standalone `bootstrap.py` script does *not*, this can lead people to write patches that work fine in `mach bootstrap` but which regress standalone `bootstrap.py`. Furthermore, testing `bootstrap` patches with standalone `bootstrap.py` is difficult. So this is a not infrequent source of regressions; bugs 1652736 and 1643158 are recent examples. Furthermore, typically these regressions are "fixed" by adding more code duplication or by replacing battle-tested frequently-used libraries (either `m-c`-internal or third-party) with less robust bespoke code. 3. Issue (2) is avoidable if people are sufficiently critical during code review, but at *best*, this is a weird extra level of mental overhead that we need to keep in mind only for `bootstrap` patches. This patch preserves back-compatibility and the validity of existing documentation by factoring out all the logic to clone `mozilla-central` into standalone `bootstrap.py` directly, and cloning *before* calling into `mach bootstrap` directly. This gives us only one official entry point into the bootstrapper, namely, `mach bootstrap`. There are a couple concrete implications of this change: 1. Now, the clone happens before any other interesting work happens, so people may have to wait ~an hour before actually beginning to engage with the `bootstrap` wizard. While it's arguably slightly less convenient, I'm not sure it matters enough that we should block this patch or a similar one on it. 2. The `hg`/`git` configuration step now happens *after* the clone rather than before it. Looking at what the `hg` and `git` configuration wizards actually do today, I don't think this matters either (all of the configurations can easily happen after cloning the repo). Another note: `bootstrap` installs `git-cinnabar` to the `.mozbuild` state directory. We could have duplicated all of that logic over to standalone `bootstrap.py`, but it's non-trivial and I didn't think that made any sense, so instead we have standalone `bootstrap.py` download a temporary version and use it for the initial clone if necessary. Differential Revision: https://phabricator.services.mozilla.com/D85058
8bb29952096a4d441d9b016c939856f360904073: Bug 1660831 - Reference the standalone `bootstrap.py` script in `windows_build.rst` and prefer `mozilla-unified` to `mozilla-central` where relevant r=mhentges,froydnj
Ricky Stewart <rstewart@mozilla.com> - Mon, 31 Aug 2020 17:51:14 +0000 - rev 612383
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1660831 - Reference the standalone `bootstrap.py` script in `windows_build.rst` and prefer `mozilla-unified` to `mozilla-central` where relevant r=mhentges,froydnj Today the docs tell you to directly clone `mozilla-central`, which is a weird departure from what we do in the other per-platform documents for no real reason. Instead, reference the standalone `bootstrap.py` script as we do for Linux and macOS. Also, do a little scan and replace references to `mozilla-central` with `mozilla-unified` where appropriate. Differential Revision: https://phabricator.services.mozilla.com/D88051
57b1de9d90dce7d2050d3894aa5b8b03f3e1460d: Bug 1660340 - Switch builds to clang 11.0.0 rc2 r=froydnj
David Major <dmajor@mozilla.com> - Sat, 29 Aug 2020 10:13:28 +0000 - rev 612363
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1660340 - Switch builds to clang 11.0.0 rc2 r=froydnj This changes most of our automation builds to clang 11.0.0 rc2. Not included: * code coverage builds, per bug 1660341 * mingw builds, which have traditionally been on their own update cadence, and in this case are blocked anyway by bug 1658632 This will leave some unused clang-9 task definitions. I intend to clean them up, but at a later date. For now I want to focus on making sure this update sticks, since patches like this have a tendency to bounce. Differential Revision: https://phabricator.services.mozilla.com/D88313
dc0943c6e3933947495a36a5cecdf7ccd7275aca: Bug 1641674 - Don't use --gc-sections during profile generation r=froydnj
David Major <dmajor@mozilla.com> - Fri, 28 Aug 2020 20:38:45 +0000 - rev 612361
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1641674 - Don't use --gc-sections during profile generation r=froydnj For not-well-understood reasons, ld's `--gc-sections` discards a large number of the PGO bookkeeping structures that enable us to keep track of function counters, and the effect gets worse in object files generated by clang-10. As much as I'd like to understand this better, the investigations take way too much time. As a path of least resistance, we can disable `--gc-sections` for the instrumentation phase of PGO builds. It won't harm anything since users never see those builds, and it will improve the performance of the optimized phase greatly. Differential Revision: https://phabricator.services.mozilla.com/D78112
93d8458a0c4dc91b24c34e2f446c76d80384c948: Bug 1654100 - Backed out changeset 6e556d9c0845. r=froydnj
Toshihito Kikuchi <tkikuchi@mozilla.com> - Mon, 31 Aug 2020 18:05:56 +0000 - rev 612347
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1654100 - Backed out changeset 6e556d9c0845. r=froydnj Now that we've concluded no immediate action is needed for slow ShellExecuteByExplorer, `SHELLEXECUTEBYEXPLORER_DURATION_MS` is no longer needed. Differential Revision: https://phabricator.services.mozilla.com/D86143
ff93a88d2de232038327da95b143cf6b89ee8d69: Bug 1649596: Use IOUtils instead of OS.File in CrashService.jsm r=barret,froydnj
Keefer Rourke <krourke@mozilla.com> - Fri, 28 Aug 2020 15:51:04 +0000 - rev 612242
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1649596: Use IOUtils instead of OS.File in CrashService.jsm r=barret,froydnj Differential Revision: https://phabricator.services.mozilla.com/D87495
9fce6294438c4b2e0f526f4832b10a630d8d8a49: Bug 1661646 - Extend YSOD Telemetry with error_code and location. r=froydnj
Zibi Braniecki <zbraniecki@mozilla.com> - Fri, 28 Aug 2020 22:04:13 +0000 - rev 612198
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661646 - Extend YSOD Telemetry with error_code and location. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88535
71777ae3dcd63e9efe3726edfc5eafe052b2857e: Bug 1660353 - Remove subprocessing into global Python 3 in `symbols_archive.py` r=mhentges,froydnj
Ricky Stewart <rstewart@mozilla.com> - Fri, 21 Aug 2020 15:04:24 +0000 - rev 612191
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1660353 - Remove subprocessing into global Python 3 in `symbols_archive.py` r=mhentges,froydnj This was always a temporary hack because getting `zstandard` installed into the `objdir` `virtualenv`s was impossible. With the changes made in bug 1656993, this is possible now, so we can remove all this. Differential Revision: https://phabricator.services.mozilla.com/D87809
99b668cea773c25f02e73280e6b35a548163b6ec: Bug 1661762 - strengthen `recognize_repo_paths` checks in `files.py` and `hg.py` r=mhentges,froydnj
Ricky Stewart <rstewart@mozilla.com> - Fri, 28 Aug 2020 19:19:56 +0000 - rev 612182
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661762 - strengthen `recognize_repo_paths` checks in `files.py` and `hg.py` r=mhentges,froydnj We `normpath()` the `_root` path when we save it, but the input `path` to `get()` is not necessarily also normalized. Normalizing it prevents unnecessary test failures. Differential Revision: https://phabricator.services.mozilla.com/D88635
938eaad78b5a1282724ef7751a214acc16b7ffab: Bug 1661798 - Have the LinkedList destructor emit the buggy template specialization. r=froydnj
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 28 Aug 2020 20:07:26 +0000 - rev 612178
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1661798 - Have the LinkedList destructor emit the buggy template specialization. r=froydnj Differential Revision: https://phabricator.services.mozilla.com/D88663
80beec7aca1fd47df5e376feecbf2e616a18c37e: Bug 1658976: Configure more-accurately detects host triplet r=froydnj
Mitchell Hentges <mhentges@mozilla.com> - Fri, 28 Aug 2020 15:49:03 +0000 - rev 612123
Push 13943 by ffxbld-merge at Mon, 21 Sep 2020 13:41:08 +0000
Bug 1658976: Configure more-accurately detects host triplet r=froydnj config.guess infers information about the compiler using environment variables, such as CC. However, we use such environment variables to configure the tooling for the target. Differential Revision: https://phabricator.services.mozilla.com/D88085