Closed
Bug 1483835
Opened 7 years ago
Closed 7 years ago
Local Windows builds should use clang-cl by default
Categories
(Firefox Build System :: General, enhancement)
Firefox Build System
General
Tracking
(firefox63 fixed)
RESOLVED
FIXED
mozilla63
Tracking | Status | |
---|---|---|
firefox63 | --- | fixed |
People
(Reporter: emk, Assigned: away)
References
(Depends on 2 open bugs)
Details
Attachments
(1 file)
2.06 KB,
patch
|
glandium
:
review+
|
Details | Diff | Splinter Review |
Because it is the compiler that we will use to ship Windows binaries and it is Tier-1.
Comment 1•7 years ago
|
||
(In reply to Masatoshi Kimura [:emk] from comment #0)
> Because it is the compiler that we will use to ship Windows binaries and it
> is Tier-1.
Is that actually settled yet?
Comment 2•7 years ago
|
||
How do you drive the clang-cl debugger, if any exists?
https://www.google.com.au/search?q=clang-cl+debugger doesn't yield anything useful at first glance.
(In reply to Jorg K (GMT+2) from comment #2)
> How do you drive the clang-cl debugger, if any exists?
> https://www.google.com.au/search?q=clang-cl+debugger doesn't yield anything
> useful at first glance.
You can use your existing favorite debugger with the binaries produced by clang-cl.
(In reply to Mike Hommey [:glandium] from comment #1)
> (In reply to Masatoshi Kimura [:emk] from comment #0)
> > Because it is the compiler that we will use to ship Windows binaries and it
> > is Tier-1.
>
> Is that actually settled yet?
At this point all signs are pointing to clang-cl being our primary compiler moving forward. While it's not 100% clear that 63 will be its release train, the transition is now a matter of "when" and not "if". At worst we may revert to MSVC for one more cycle in case something horrible happens with an AV or something on beta, but that wouldn't affect developers builds anyway. So I think we're ready to make this change.
Assignee: nobody → dmajor
Attachment #9001767 -
Flags: review?(mh+mozilla)
Comment 6•7 years ago
|
||
(In reply to David Major [:dmajor] from comment #3)
> You can use your existing favorite debugger with the binaries produced by
> clang-cl.
OK, I applied your patch and the build time came down from ~32 min to ~24 min with the machine working a lot harder and getting hotter. The MSVS debugger appears to be working as before. Just out of interest: Which other debuggers are there on Windows (apart from WinDbg)? If we're not using VS to compile, perhaps we can save the effort installing it and using some other light-weight debugger instead.
Having the same debugger locally as in automation certainly has advantages, especially since VS C++ is pretty lenient and clang-cl is pretty strict, so the surprise comes after the push :-(
(In reply to Jorg K (GMT+2) from comment #6)
> Just out of interest: Which other debuggers are there on Windows (apart from WinDbg)?
I'm pretty sure that only the VS debugger and WinDbg are in use at Mozilla.
> If we're not using VS to compile, perhaps we can save the effort installing it and using some other
> light-weight debugger instead.
We still depend on a VS installation for its headers, libraries, and some auxiliary build tools. (At some point we'll need to overcome this in order to cross-compile from Linux, but that's a longer-term future.)
> Having the same debugger locally as in automation certainly has advantages,
> especially since VS C++ is pretty lenient and clang-cl is pretty strict, so
> the surprise comes after the push :-(
Not sure I understand... automation doesn't use a debugger. Did you mean compiler?
Comment 8•7 years ago
|
||
Sorry, yes: Having the same *compiler* locally ...
Comment 9•7 years ago
|
||
Comment on attachment 9001767 [details] [diff] [review]
Default to clang-cl and lld-link
Review of attachment 9001767 [details] [diff] [review]:
-----------------------------------------------------------------
::: build/moz.configure/windows.configure
@@ +458,5 @@
>
> set_config('MSMANIFEST_TOOL', depends(valid_mt)(lambda x: bool(x)))
>
>
> +link = check_prog('LINKER', ('lld-link.exe','link.exe'),
space after comma.
Attachment #9001767 -
Flags: review?(mh+mozilla) → review+
Comment 10•7 years ago
|
||
Pushed by dmajor@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/1b533762e9cb
Default to clang-cl and lld-link in local Windows builds. r=glandium
Comment 11•7 years ago
|
||
Backed out changeset 1b533762e9cb (Bug 1483835) for causing build bustage in /python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=1b533762e9cb4faf2b1c2d9fa58418c71dd9729d&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=usercancel&filter-resultStatus=runnable&selectedJob=195063041
Failure log: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=1b533762e9cb4faf2b1c2d9fa58418c71dd9729d&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=usercancel&filter-resultStatus=runnable&selectedJob=195063041
Backout push: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=3486c61e21091dfdb5f58b92711b16e4f610af27&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=usercancel&filter-resultStatus=runnable
Flags: needinfo?(dmajor)
Comment 12•7 years ago
|
||
Pushed by dmajor@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/577ffed9f102
Default to clang-cl and lld-link in local Windows builds. r=glandium
Comment 13•7 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox63:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
You need to log in
before you can comment on or make changes to this bug.
Description
•