firefox: fix crash, enable debug symbols and clean up#146784
firefox: fix crash, enable debug symbols and clean up#146784mweinelt merged 4 commits intoNixOS:masterfrom
Conversation
|
lets set |
If you want to package |
das-g
left a comment
There was a problem hiding this comment.
Just some comments on comments:
There was a problem hiding this comment.
Do we disable "adding -g" on all platforms, so that linking is easier on 32bit platform? Or do we disable "adding -g" only on 32bit platform, for easier linking there? If the latter (which I assume from the code below), maybe phrase it as:
| # We disable adding "-g" for easier linking on 32bit platform. | |
| # On 32bit platform, we disable adding "-g" for easier linking. |
so that it's clearer, what "on 32bit platform refers to.
Also, is "32bit" just one platform or a category of (potentially or actually) several platforms? If the latter, put it in plural:
| # We disable adding "-g" for easier linking on 32bit platform. | |
| # On 32bit platforms, we disable adding "-g" for easier linking. |
There was a problem hiding this comment.
About 32bit platforms, I notice that we actually mark firefox broken when buildPlatform is 32bit, in,
https://github.com/NixOS/nixpkgs/blob/07534dee7f45a9945123e7bd1580b6c22bb4cdc5/pkgs/applications/networking/browsers/firefox/packages.nix#L22
Maybe we could remove these special cases in common.nix, but I'm not sure about testing 32bit builds. So I just keep them currently.
There was a problem hiding this comment.
For those familiar with LTO (which I'm not), does the comment "Cross-language LTO." add any information, or would they know that already from the code --enable-lto=cross?
There was a problem hiding this comment.
This option is parsed by mozconfig, I think it's not a common phrasing about LTO. At least I've never seen lto=cross anywhere else, and I learn its meaning after grepping firefox source tarball.
Since we are using LLVM stdenv when enabling LTO, there are no need to manually specify them.
07534de to
8a2be27
Compare
das-g
left a comment
There was a problem hiding this comment.
LGTM now. (As far as I can assess it, at least.)
|
One can test firefox-wayland like this: It's the result of this build: https://gitlab.com/Mic92/dotfiles/-/jobs/1804561072#L62 |
mweinelt
left a comment
There was a problem hiding this comment.
Thank you for debugging this issue and coming up with a solution. I've tested the resulting binary on x86_64-linux sway/pipewire and everything LGTM.
|
I'm afraid this PR broke |
this didn't break it
|
|
The latest channel update for |
Motivation for this change
Fix YouTube tab crashes in recent Firefox (nixpkgs build only) #146382 by disabling jemalloc by default.
It's caused by jemalloc violates clang's alignment assumption of
mallocfrom LLVM 13. Check details in https://bugzilla.mozilla.org/show_bug.cgi?id=1741454Try this POC to confirm it's actually fixed by this PR.
Enable separated debug symbols by default for easy debugging.
Clean up unnecessary
makeFlagsandNIX_LDFLAGSsince we're now using LLVM stdenv.Use
--enable-lto=cross. I add this to make our configure flags closer to Arch's, and potentially make it more optimized.Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)nixos/doc/manual/md-to-db.shto update generated release notes