From b1ce11974edf272d4a644de44b5229c1c5ee515a Mon Sep 17 00:00:00 2001 From: Ben Siraphob Date: Thu, 16 Jul 2026 13:52:45 -0700 Subject: [PATCH 1/2] firefox: disable PGO on 32-bit --- pkgs/build-support/build-mozilla-mach/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/build-mozilla-mach/default.nix b/pkgs/build-support/build-mozilla-mach/default.nix index f8298a4c6fe8..f6e3d8b62661 100644 --- a/pkgs/build-support/build-mozilla-mach/default.nix +++ b/pkgs/build-support/build-mozilla-mach/default.nix @@ -145,7 +145,13 @@ in ), overrideCC, buildPackages, - pgoSupport ? (stdenv.hostPlatform.isLinux && stdenv.hostPlatform == stdenv.buildPlatform), + # PGO merges profile data with a 32-bit llvm-profdata, which runs out of + # address space on the huge libxul profile, so disable it on 32-bit. + pgoSupport ? ( + stdenv.hostPlatform.isLinux + && stdenv.hostPlatform == stdenv.buildPlatform + && stdenv.hostPlatform.is64bit + ), xvfb-run, elfhackSupport ? isElfhackPlatform stdenv && !(stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isAarch64), From 3be9b65683ae7c4af07bef44275882e1661a2921 Mon Sep 17 00:00:00 2001 From: Ben Siraphob Date: Thu, 16 Jul 2026 13:52:45 -0700 Subject: [PATCH 2/2] firefox-esr: build on 32-bit --- .../networking/browsers/firefox/packages/firefox-esr-140.nix | 4 ---- pkgs/top-level/all-packages.nix | 1 - 2 files changed, 5 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages/firefox-esr-140.nix b/pkgs/applications/networking/browsers/firefox/packages/firefox-esr-140.nix index 41606db701de..ac579479844a 100644 --- a/pkgs/applications/networking/browsers/firefox/packages/firefox-esr-140.nix +++ b/pkgs/applications/networking/browsers/firefox/packages/firefox-esr-140.nix @@ -1,5 +1,4 @@ { - stdenv, lib, callPackage, fetchurl, @@ -22,9 +21,6 @@ buildMozillaMach rec { homepage = "http://www.mozilla.com/en-US/firefox/"; maintainers = with lib.maintainers; [ hexa ]; platforms = lib.platforms.unix; - broken = stdenv.buildPlatform.is32bit; - # since Firefox 60, build on 32-bit platforms fails with "out of memory". - # not in `badPlatforms` because cross-compilation on 64-bit machine might work. maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) license = lib.licenses.mpl20; mainProgram = "firefox"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3f6706db97cf..01d609382ba7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8679,7 +8679,6 @@ with pkgs; import ../applications/networking/browsers/firefox/packages/firefox-esr-140.nix { inherit - stdenv lib callPackage fetchurl