Closed Bug 1448980 Opened 7 years ago Closed 6 years ago

Add an --enable-thinlto (or similar) for Windows

Categories

(Firefox Build System :: General, enhancement)

3 Branch
enhancement
Not set
normal

Tracking

(firefox63 fixed)

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: away, Assigned: away)

References

Details

Attachments

(2 files)

When set, this flag should: * Complain if the linker is not lld-link * Add -flto=thin to MOZ_OPTIMIZE_FLAGS (probably want to coordinate with bug 1448978) * Add -FORCE to LDFLAGS until bug 1448976 is addressed * Change AR and to llvm-lib, and add -llvmlibthin to AR_FLAGS * Maybe? change HOST_AR to llvm-lib. It seems like we shouldn't need this but I needed it to make my build work. I didn't need to change HOST_AR_FLAGS.
And possibly also add -OPT:LLDLTO=3 to LDFLAGS.
(In reply to David Major [:dmajor] from comment #1) > And possibly also add -OPT:LLDLTO=3 to LDFLAGS. But be careful with Spidermonkey builds: LINK : fatal error LNK1117: syntax error in option 'OPT:LLDLTO=3'
Something like --enable-lto=thin would probably be better.
No objection from me.
tjr is working on getting LTO or ThinLTO working with clang builds on Linux as a prerequisite to making clang CFI work, so it'd be great if we could make this work there as well.
See Also: → 1457482
I wrote this just to help me understand the next patch better
Assignee: nobody → dmajor
Attachment #8992012 - Flags: review?(core-build-config-reviews)
Attachment #8992013 - Flags: review?(core-build-config-reviews)
Blocks: 1475660
Attachment #8992012 - Flags: review?(core-build-config-reviews) → review+
Comment on attachment 8992013 [details] [diff] [review] Make --enable-lto work with clang-cl Review of attachment 8992013 [details] [diff] [review]: ----------------------------------------------------------------- Not a huge fan of the massive amount of indentation here, but oh well. r=me with the change below. ::: build/moz.configure/toolchain.configure @@ +1332,3 @@ > > + if value: > + enabled = "1" Can we not just make this `True`, and add_old_configure_assignment will DTRT? Assigning "1" is...weird.
Attachment #8992013 - Flags: review?(core-build-config-reviews) → review+
> Can we not just make this `True`, and add_old_configure_assignment will > DTRT? Assigning "1" is...weird. Sounds good to me. I didn't know add_old_configure_assignment could do that. I was just refactoring the existing "1" code.
Pushed by dmajor@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/34a44432715b prequel: Rename LTO `flags` to `cflags`. r=froydnj https://hg.mozilla.org/integration/mozilla-inbound/rev/a2ae515ee43f Make --enable-lto work with clang-cl. r=froydnj
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
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: