[Bug 263798] lang/rust - gecko ports with LTO enabled are dysfunctional

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 10 Jun 2022 15:08:40 UTC

Mikhail Teterin <mi@FreeBSD.org> changed:

           What    |Removed                     |Added
           Assignee|gecko@FreeBSD.org           |rust@FreeBSD.org
             Status|Closed                      |Open
         Resolution|FIXED                       |---
                 CC|                            |mi@FreeBSD.org
            Summary|www/firefox: Channel error  |lang/rust - gecko ports
                   |on startup in version 100   |with LTO enabled are
                   |                            |dysfunctional

--- Comment #18 from Mikhail Teterin <mi@FreeBSD.org> ---
(In reply to Oleg Sidorkin from comment #15)
> Rust switched to LLVM14 in 1.60, so linker from llvm13 that links firefox binary doesn't know how to work with llvm14 libs.

Thanks for the investigation, Oleg. This seems like something someone ought to
report to LLVM project -- the 13.x linker either ought to do "the right thing",
or die with a noisy error :(

Meanwhile, in my humble opinion, lang/rust ought to use the ports-provided llvm
-- the ongoing flip-flopping between that and using the bundled version needs
to stop.

If llvm14 is really mandatory for the newer Rust versions, then lang/llvm14 
ought to become a dependency. But the ci.yml files inside Rust's sources
indicate llvm-12 as the minimum requirement, so users ought to be able to use
those already installed older versions too.

This would reduce build-times significantly and eliminate the mixing of
toolchains, which is a bad idea in general and, according to Oleg's
investigation, is the actual source of problem in this case in particular.

(In reply to Christoph Moench-Tegeder from comment #9)
> fixed in firefox-100.0_3,2 firefox-esr-91.9.0_2,1 thunderbird-91.9.0_3 - see commit ports fc0a979a30ea

Disabling an otherwise valid option is not a fix, it is a work-around :( I
understand, that gecko-maintainers cannot do much more than that -- except to,
maybe, set BROKEN for those, who have LTO explicitly turned on in the options
already (so we don't waste hours recompiling the heavy ports)...

You are receiving this mail because:
You are the assignee for the bug.