Closed Bug 1042132 Opened 10 years ago Closed 9 years ago

Allow clang-cl to be used on try

Categories

(Release Engineering :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(firefox47 fixed)

RESOLVED FIXED
Tracking Status
firefox47 --- fixed

People

(Reporter: ehsan.akhgari, Unassigned)

References

Details

Attachments

(3 files)

I'm hoping that we can use tooltool to download clang-cl binaries so that we can start doing clang-cl builds on try. What I need to do is to add a package to tooltool which can be unzipped into a known location so that we can use the path to the compiler in our mozconfigs on try. John, do you know how I can achieve this?
Flags: needinfo?(jhford)
Unless you have access to the host that does the downloads, I think the process is that you post the package somewhere that Releng can download it and ask someone on Releng to upload it to tooltool's server. Documentation on how the uploading works: https://wiki.mozilla.org/ReleaseEngineering/Applications/Tooltool#How_to_upload_to_tooltool Example bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1025731#c5
Flags: needinfo?(jhford)
Thanks a lot, John. I'll try to do that tomorrow. Another question, since clang-cl is a young project and we are fixing bugs in the compiler that we have caught during this effort, we may need to do periodic updates to the compiler. How convenient is it to upload new tooltool packages? Is it reasonable to assume that we can update the package a few times a week or so?
Flags: needinfo?(jhford)
I can't really speak to whether multiple times a week is an option. If the tooltool manifest is stored in buildbot-configs, it'll be really painful to update. If it's stored in the gecko tree, the process will be to get the sha512 checksum of the uploaded file and update the manifest in a gecko push when you're feeling ready.
Flags: needinfo?(jhford)
Sounds great! I'll figure out a way to store it in the Gecko tree to make things easier.
(In reply to comment #5) > Existing clang tooltool manifests are in-tree, FYI: > http://mxr.mozilla.org/mozilla-central/source/browser/config/tooltool-manifests/linux32/clang.manifest Yeah, thanks, I chatted about this with catlee and rail offline, and they told me pretty much everything there is to know aout this process. :-) I forgot to update the bug...
OK, so I uploaded an initial version of clang-cl here: <http://people.mozilla.org/~eakhgari/LLVM-3.6.0svn-r217871-win32.zip> Can someone please upload that to tooltool? Thanks!
Flags: needinfo?(catlee)
ping? If we can move forward with this, please let me know and I will provide a new build.
sorry, lost track of this. this is now up on tooltool. You can use this in your tooltool manifestes: { "size": 187464180, "digest": "d84497b53cc30a36129cf97eaf4556dc33c66b79a5e78fefa5b6b5dc6b5db2ac7b53d1881736e9e5ed9fbaaea2d58e468be2653c126fb4cccc125fc2e94b694b", "algorithm": "sha512", "filename": "LLVM-3.6.0svn-r217871-win32.zip" }
Flags: needinfo?(catlee)
Depends on: 1081342
{ "size": 157145505, "digest": "c79b420b034493bac467f918d2a3c34dd28614319a18a9176a9718f906010e5ee2c856104dbca70e6e9c628383840a8b40637bf0c43879f8b640be546327b154", "algorithm": "sha512", "filename": "LLVM-3.6.0svn-r219740-win32.zip" }
This setup.sh knows how to extract the LLVM package: { "size": 117, "digest": "dd08739366c3a779f1fa4ff41b63c0c68a2df256cc5c87f3ade46f35891768291c51bc55e98df994d40e1f2b5e5d002cf68623e97b73ac5185769d4d4864352e", "algorithm": "sha512", "filename": "setup.sh" }
clang-cl with assertions turned on, same revision as in comment 11: { "size": 188983493, "digest": "b36855156ab370fe9d49e3e95fa14a9a56a64a2229b79835d7d1e30f7c06611fac3e9eb2c7297088747eed1d7bfb45aae031cdc8ca062d2d53dd66454b767a90", "algorithm": "sha512", "filename": "LLVM-3.6.0svn-r219740-win32.zip" }
Depends on: 1090214
Ehsan, is there anything needed to be done here?
Flags: needinfo?(ehsan)
(In reply to Rail Aliiev [:rail] from comment #14) > Ehsan, is there anything needed to be done here? My last attempt here lead into sadness because I hit the buildbot maximum log limit. AFAIK that is not possible to override, right?
Flags: needinfo?(ehsan) → needinfo?(rail)
Yeah, IIRC, it won't be that easy to make it happen. Maybe this is a good opportunity to implement this job in Taskcluster. Spidermoney is almost done in bug 1164656.
Flags: needinfo?(rail)
Maybe. Does TaskCluster have full working support for Windows?
(In reply to [Vacation: Nov 3-19] from comment #15) > (In reply to Rail Aliiev [:rail] from comment #14) > > Ehsan, is there anything needed to be done here? > > My last attempt here lead into sadness because I hit the buildbot maximum > log limit. AFAIK that is not possible to override, right? Did you hit this due to warning spam? I've got some patches that make the warning spam much more reasonable. Also, ni? to Rail for comment 17.
Flags: needinfo?(rail)
(In reply to [Vacation: Nov 3-19] from comment #17) > Maybe. Does TaskCluster have full working support for Windows? Not yet. The current plan is to add windows support in Q2 2016.
Flags: needinfo?(rail)
Depends on: 1232772
Depends on: 1236577
This is useful for deploying clang-cl to the infrastructure.
Attachment #8716786 - Flags: review?(rail)
I have been successfully running clang-cl on try with these patches.
Comment on attachment 8716786 [details] [diff] [review] Part 1: Port build-clang.py to Windows Review of attachment 8716786 [details] [diff] [review]: ----------------------------------------------------------------- wow, windows!!! \o/
Attachment #8716786 - Flags: review?(rail) → review+
Comment on attachment 8716787 [details] [diff] [review] Part 2: Add tooltool manifests for clang-cl Review of attachment 8716787 [details] [diff] [review]: ----------------------------------------------------------------- stamp!
Attachment #8716787 - Flags: review?(rail) → review+
Attachment #8716788 - Flags: review?(rail) → review+
Depends on: 1262735
No longer blocks: 1223932
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: