Closed
Bug 1434316
Opened 7 years ago
Closed 6 years ago
Integrate x64 MinGW Build into Task Cluster
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(firefox-esr60 fixed, firefox60 wontfix)
RESOLVED
FIXED
People
(Reporter: tjr, Assigned: tjr)
References
(Blocks 1 open bug)
Details
(Whiteboard: [tor])
Attachments
(3 files, 7 obsolete files)
7.27 KB,
patch
|
tjr
:
review+
RyanVM
:
approval-mozilla-esr60+
|
Details | Diff | Splinter Review |
959 bytes,
patch
|
tjr
:
review+
RyanVM
:
approval-mozilla-esr60+
|
Details | Diff | Splinter Review |
9.48 KB,
patch
|
tjr
:
review+
RyanVM
:
approval-mozilla-esr60+
|
Details | Diff | Splinter Review |
We have 32 bit, now we need 64 bit.
Random item: we should investigate -fno-keep-inline-dllexport from win32.
Assignee | ||
Updated•7 years ago
|
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Updated•7 years ago
|
Product: Core → Firefox Build System
Assignee | ||
Comment 4•7 years ago
|
||
Update: I got a successful build. I need to investigate whether or not it runs (the opt build segfaulted; and I need to up the timeout for the Debug build to have it complete, so more investigation to do - but a successful build is still something exciting!)
Assignee | ||
Comment 5•7 years ago
|
||
So a non-stripped debug build (either x86 or x64) won't run because Windows won't recognize the xul.dll (which is nearing 3GB)
Example: https://treeherder.mozilla.org/#/jobs?repo=try&revision=db83210956ffdd1936a63709fa86b09fdef1aefe&selectedJob=171109048
[task 2018-03-29T20:18:24.442Z] 20:18:24 INFO - ac_add_options --enable-debug
[task 2018-03-29T20:18:24.442Z] 20:18:24 INFO - ac_add_options --disable-optimize
These two together might just be too much. We might have to bump up to at least -O1? Is -Og supported?
Assignee | ||
Comment 7•7 years ago
|
||
(In reply to David Major [:dmajor] from comment #6)
> [task 2018-03-29T20:18:24.442Z] 20:18:24 INFO - ac_add_options
> --enable-debug
> [task 2018-03-29T20:18:24.442Z] 20:18:24 INFO - ac_add_options
> --disable-optimize
>
> These two together might just be too much. We might have to bump up to at
> least -O1? Is -Og supported?
That was a good idea. I tried -O3, -Og, and -Os all with --disable-install-strip. They were 2,683 MB, 2,768 MB, and 2,599 MB. All exhibited the same issue =/
Assignee | ||
Comment 8•7 years ago
|
||
For those following at home, I took it to the MinGW list: https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/CA%2BcU71k2bU0azQxjy4-77ynQj1O%2BTKmgtaTKe59n7Bjub1y7Tg%40mail.gmail.com/#msg36282439
Comment 9•7 years ago
|
||
You can try the half-measure of setting `STRIP_FLAGS="--strip-debug"`, which is what our `--enable-profiling` builds (which are most of our builds on Nightly) do:
https://dxr.mozilla.org/mozilla-central/rev/a1fb8ffae378963b128deaaf3a76eff9dbb6be21/old-configure.in#675
Comment 10•7 years ago
|
||
FWIW I debugged and NtCreateSection is failing with 0xc000007b. And since that's a syscall I couldn't step in any deeper. "Show loader snaps" didn't provide anything useful either.
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Comment 23•6 years ago
|
||
Expect Bug 1460777 to require this to be rebased for -central (currently focused on esr60 though)
See Also: → 1460777
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Updated•6 years ago
|
Assignee: nobody → tom
Assignee | ||
Updated•6 years ago
|
Attachment #8952789 -
Flags: review?(nfroyd)
Attachment #8952790 -
Flags: review?(nfroyd)
Assignee | ||
Updated•6 years ago
|
Attachment #8952788 -
Flags: review?(mh+mozilla)
Assignee | ||
Updated•6 years ago
|
Attachment #8952788 -
Attachment is obsolete: true
Attachment #8952788 -
Flags: review?(mh+mozilla)
Assignee | ||
Updated•6 years ago
|
Attachment #8952789 -
Attachment is obsolete: true
Attachment #8952789 -
Flags: review?(nfroyd)
Assignee | ||
Updated•6 years ago
|
Attachment #8973001 -
Attachment is obsolete: true
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Updated•6 years ago
|
Attachment #8988873 -
Flags: review?(mh+mozilla)
Attachment #8988874 -
Flags: review?(mh+mozilla)
Comment 38•6 years ago
|
||
mozreview-review |
Comment on attachment 8952789 [details]
Bug 1434316 Add 64 bit MinGW gcc toolchains
https://reviewboard.mozilla.org/r/222014/#review260770
::: build/unix/build-gcc/build-gcc.sh:129
(Diff revision 7)
> }
>
> build_gcc_and_mingw() {
> mkdir gcc-objdir
> pushd gcc-objdir
> - ../gcc-$gcc_version/configure --prefix=$install_dir --target=i686-w64-mingw32 --with-gnu-ld --with-gnu-as --disable-multilib --enable-threads=posix
> + ../gcc-$gcc_version/configure --prefix=$install_dir --target=$gcc_target --with-gnu-ld --with-gnu-as --disable-multilib --enable-threads=posix
Communicating things through globals is just about as gross in shell as it is in other languages, but OK.
Attachment #8952789 -
Flags: review?(nfroyd)
Comment 39•6 years ago
|
||
mozreview-review |
Comment on attachment 8952790 [details]
Bug 1434316 Add x64 to the MinGW rust target
https://reviewboard.mozilla.org/r/222016/#review260772
Attachment #8952790 -
Flags: review?(nfroyd) → review+
Updated•6 years ago
|
Attachment #8952789 -
Flags: review?(nfroyd)
Comment 40•6 years ago
|
||
mozreview-review |
Comment on attachment 8988873 [details]
Bug 1434316 Add 64 Bit Windows Build Targets
https://reviewboard.mozilla.org/r/254030/#review261520
All these files that are obvious copies of files we already have in the tree should be marked as such. Are you using mercurial or git?
Attachment #8988873 -
Flags: review?(mh+mozilla)
Comment 41•6 years ago
|
||
mozreview-review |
Comment on attachment 8988874 [details]
Bug 1434316 Add 64 bit MinGW gcc toolchains
https://reviewboard.mozilla.org/r/254032/#review261524
::: taskcluster/scripts/misc/build-gcc-mingw32.sh:22
(Diff revision 1)
> +gcc_target=$1
> gcc_ext=xz
> binutils_version=2.27
> binutils_ext=bz2
> -binutils_configure_flags="--target=i686-w64-mingw32"
> -mingw_version=bcf1f29d6dc80b6025b416bef104d2314fa9be57
> +binutils_configure_flags="--target=$gcc_target"
> +mingw_version=ee9fc3d0b8c8868280e38384edd968067b8e71fc
Is it possible to not change the version of mingw at the same time?
Attachment #8988874 -
Flags: review?(mh+mozilla) → review+
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Assignee | ||
Comment 46•6 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #40)
> Comment on attachment 8988873 [details]
> Bug 1434316 Add 64 Bit Windows Build Targets
>
> https://reviewboard.mozilla.org/r/254030/#review261520
>
> All these files that are obvious copies of files we already have in the tree
> should be marked as such. Are you using mercurial or git?
Fixed this and broke the MinGW version bump into a separate commit.
Comment 47•6 years ago
|
||
mozreview-review |
Comment on attachment 8988873 [details]
Bug 1434316 Add 64 Bit Windows Build Targets
https://reviewboard.mozilla.org/r/254030/#review262714
::: taskcluster/ci/build/windows.yml:656
(Diff revision 2)
> worker-type: aws-provisioner-v1/gecko-{level}-b-linux
> worker:
> docker-image: {in-tree: mingw32-build}
> max-run-time: 7200
> env:
> - PERFHERDER_EXTRA_OPTIONS: "opt"
> + PERFHERDER_EXTRA_OPTIONS: "opt 32"
legitimate question: is it better to make the difference between 32 and 64 bits more obvious or to keep the history of the perfherder data?
Attachment #8988873 -
Flags: review?(mh+mozilla) → review+
Comment 48•6 years ago
|
||
mozreview-review |
Comment on attachment 8990794 [details]
Bug 1434316 Bump MinGW version
https://reviewboard.mozilla.org/r/255840/#review262716
Attachment #8990794 -
Flags: review?(mh+mozilla) → review+
Assignee | ||
Comment 49•6 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #47)
> Comment on attachment 8988873 [details]
> Bug 1434316 Add 64 Bit Windows Build Targets
>
> https://reviewboard.mozilla.org/r/254030/#review262714
>
> ::: taskcluster/ci/build/windows.yml:656
> (Diff revision 2)
> > worker-type: aws-provisioner-v1/gecko-{level}-b-linux
> > worker:
> > docker-image: {in-tree: mingw32-build}
> > max-run-time: 7200
> > env:
> > - PERFHERDER_EXTRA_OPTIONS: "opt"
> > + PERFHERDER_EXTRA_OPTIONS: "opt 32"
>
> legitimate question: is it better to make the difference between 32 and 64
> bits more obvious or to keep the history of the perfherder data?
I don't have a strong opinion; but given that we only have build metrics - and that they're screwy regardless because of Bug 1411212 that wehaven't figured out yet - I'm inclined to erase the history for better clarity.
Assignee | ||
Comment 50•6 years ago
|
||
Now that we've landed the NSS bugs we needed; we can finally land this in ESR60. It's been a bit, but all I needed to do was rebase the patches slightly and bump the mingw version and it built and ran fine.
I just sent in this cleaned up try run which will hopefully go green: https://treeherder.mozilla.org/#/jobs?repo=try&revision=77f786ddd5ab3f8f31037cbeaa92981b5841bda5
Assignee | ||
Updated•6 years ago
|
Attachment #8952790 -
Attachment is obsolete: true
Assignee | ||
Comment 51•6 years ago
|
||
Carrying forward r+ from Comment 41
Attachment #8988874 -
Attachment is obsolete: true
Attachment #9030043 -
Flags: review+
Assignee | ||
Comment 52•6 years ago
|
||
Carrying forward r+ from Comment 48
Attachment #8990794 -
Attachment is obsolete: true
Attachment #9030044 -
Flags: review+
Assignee | ||
Comment 53•6 years ago
|
||
Carrying forward r+ from Comment 47
Attachment #8988873 -
Attachment is obsolete: true
Attachment #9030045 -
Flags: review+
Assignee | ||
Comment 56•6 years ago
|
||
Comment on attachment 9030043 [details] [diff] [review]
Bug 1434316 Add 64 Bit Windows Build Targets r=glandium
[ESR Uplift Approval Request]
If this is not a sec:{high,crit} bug, please state case for ESR consideration: Toolchain-only addition to esr60 to add the x64 version of the mingw-gcc toolchain. This toolchain is used by Tor and will help us avoid breaking the build for them.
User impact if declined: We might break the x64 mingw-gcc build and not know it.
Fix Landed on Version:
Risk to taking this patch: Low
Why is the change risky/not risky? (and alternatives if risky): Toolchain only patch; the worst that would happen is the builds would break and we'd back it out. And they're Tier 2.
String or UUID changes made by this patch:
Attachment #9030043 -
Flags: approval-mozilla-esr60?
Updated•6 years ago
|
Comment 57•6 years ago
|
||
Comment on attachment 9030043 [details] [diff] [review]
Bug 1434316 Add 64 Bit Windows Build Targets r=glandium
Sure, let's get these running on ESR60 to make life easier for Tor. Approved for ESR60.
Attachment #9030043 -
Flags: approval-mozilla-esr60? → approval-mozilla-esr60+
Updated•6 years ago
|
Attachment #9030044 -
Flags: approval-mozilla-esr60? → approval-mozilla-esr60+
Updated•6 years ago
|
Attachment #9030045 -
Flags: approval-mozilla-esr60? → approval-mozilla-esr60+
Comment 58•6 years ago
|
||
bugherder uplift |
Assignee | ||
Updated•6 years ago
|
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•