Summary: | dev-lang/spidermonkey: don't force gold for USE="lto -clang" | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | David Michael <fedora.dm0> |
Component: | Current packages | Assignee: | Mozilla Gentoo Team <mozilla> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | 89q1r14hd, herrtimson, lssndrbarbieri, riscv, toolchain |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=configure.ac#l350 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
David Michael
2021-05-26 14:04:55 UTC
1) Spidermonkey is a subset of firefox and we try to keep both ebuilds in sync as much as possible for easier maintenance.
2) Mozilla build system has some kind of auto-magic for linker we need to avoid to get reproducible rebuilds/same results.
3) The shown ebuild line is coming from firefox ebuild and is lacking one important comment which is still true -- at least for firefox:
> # Linking only works when using ld.gold when LTO is enabled
At the moment I have no plans to remove this restriction because spidermonkey/firefox are high profile packages where we would be unable to keep up with all possible configurations. Can't you switch to CLANG for LTO on RISC-V?
I've attempted to update 78 to use bfd with lto, https://gitweb.gentoo.org/repo/gentoo.git/commit/www-client/firefox?id=6e1336c323be59b95638986c74462562635a9a94 but reverted because it still produces runtime issues even though it compiles just fine, https://gitweb.gentoo.org/repo/gentoo.git/commit/www-client/firefox?id=405c1fc37a672c83f3f2c10031afa501dc5084bc >=81 or so fully drops the gold requirement upstream, so we'll get it for the next ESR. I haven't encountered runtime issues, so I will just continue with EXTRA_ECONF="--enable-linker=bfd" until spidermonkey-91 then. With 91.5.0 I couldn't get lto to work with either bfd or gold linker. Passed with lld in the end. It was a rust-related "static linking" failure and therefore a bit hard to debug from portage, but I should try building outside portage if that gives some answers. can you paste the error here, please? Created attachment 762626 [details]
build.log
Here's the build.log. If someone sees anything, happy to try things out! Works with lld, fails with gold and bfd.
yes, I had same compile error as you for longer time now (I regulary test spidermonkey compile with an own hacky ebuild) I will dive into it a bit, maybe its possible to find a solution. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d85af4050717832975fe735a7c6bbf73359fe654 commit d85af4050717832975fe735a7c6bbf73359fe654 Author: Joonas Niilola <juippis@gentoo.org> AuthorDate: 2022-01-22 08:57:46 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2022-01-22 09:00:01 +0000 dev-lang/spidermonkey: update patch set for 91.5.0 - disable some gcc-specific sanity checks (since they're not ran for clang either), - disable -Werror=format. Closes: https://bugs.gentoo.org/792246 Closes: https://bugs.gentoo.org/831501 Signed-off-by: Joonas Niilola <juippis@gentoo.org> dev-lang/spidermonkey/Manifest | 2 +- dev-lang/spidermonkey/spidermonkey-91.5.0.ebuild | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) |