Closed Bug 1450699 Opened 7 years ago Closed 7 years ago

Always use link.exe in Windows static analysis builds

Categories

(Firefox Build System :: General, enhancement)

3 Branch
enhancement
Not set
normal

Tracking

(firefox61 fixed)

RESOLVED FIXED
mozilla61
Tracking Status
firefox61 --- fixed

People

(Reporter: away, Assigned: away)

References

Details

Attachments

(1 file)

Currently the static analysis builders are unable to use lld-link, for at least two reasons: - Their revision of LLVM is so old that it is missing some lld-link fixes that are required to build Firefox. We can't update their LLVM because nobody knows how to solve bug 1427808. We _could_ cherry-pick the necessary lld fixes, but that still leaves the second problem: - 32-bit static analysis builds still use a 32-bit LLVM toolchain because of bug 1429549, so lld-link OOMs on libxul. So, if ever one day we throw The Big Switch and `export LINKER=lld-link` in the common Windows mozconfigs, the static analysis builders will be busted. To avoid this I propose to explicitly `export LINKER=link` in the static analysis mozconfigs, regardless of what the common Windows config says.
This is all the files that --enable-clang-plugin. (I'm not entirely clear why we have separate clang, clang-debug, and debug-static-analysis!)
Assignee: nobody → dmajor
Attachment #8964298 - Flags: review?(nfroyd)
Comment on attachment 8964298 [details] [diff] [review] Always use link.exe in Windows static analysis builds Review of attachment 8964298 [details] [diff] [review]: ----------------------------------------------------------------- WFM. I don't recall why we have separate files either; I think I might have wanted separate static-analysis mozconfig files at one point, rather than piggybacking on top of the normal clang builds. But obviously we don't do that anymore, so I am confused about the existence of separate files.
Attachment #8964298 - Flags: review?(nfroyd) → review+
Pushed by dmajor@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/200f42e5b1e7 Always use link.exe in Windows static analysis builds. r=froydnj
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
(In reply to Nathan Froyd [:froydnj] from comment #2) > WFM. I don't recall why we have separate files either; I think I might have > wanted separate static-analysis mozconfig files at one point, rather than > piggybacking on top of the normal clang builds. But obviously we don't do > that anymore, so I am confused about the existence of separate files. I don't know either, and I'm too lazy to do the VCS history spelunking to try to figure it out (since I suspect the answer probably isn't explicitly listed anyway). I do know that when we initially setup cross-compiled Mac builds in TC we had both opt and static analysis versions, but they were both building the exact same thing so I made us turn off the static analysis ones. It does seem sensible that in CI anything building with clang might as well be building and using the clang plugin, so I don't think it makes sense to preserve this distinction.
Version: Version 3 → 3 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: