Skip to content

fix(firefox): add overlay to fix GCC 15 compilation errors#16455

Merged
christopherco merged 1 commit intotomls/base/mainfrom
fix/firefox-gcc15
Apr 4, 2026
Merged

fix(firefox): add overlay to fix GCC 15 compilation errors#16455
christopherco merged 1 commit intotomls/base/mainfrom
fix/firefox-gcc15

Conversation

@WithEnoughCoffee
Copy link
Copy Markdown

@WithEnoughCoffee WithEnoughCoffee commented Apr 3, 2026

Firefox 148.0 fails to build with GCC 15 due to two issues:

  1. mfbt/tests/TestIntegerRange.cpp uses uint8_t/uint16_t/uint32_t/uint64_t without #include . GCC 15 no longer leaks these types through transitive includes. Fix: disable build_tests (test binaries are not shipped in the RPM).

  2. toolkit/crashreporter/breakpad-client/linux/handler/minidump_descriptor.h references non-existent field 'address_within_principal_mapping_'. Affects x86_64 where crash reporter is enabled. Fix: disable enable_mozilla_crashreporter.

The build failure was masked by './mach build -v 2>&1 | cat -' which swallows the exit code, causing %install to run and packager.py to report AccumulatedErrors for all missing files.

Test Methodology

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a dedicated component definition for Firefox to apply overlays that work around GCC 15 build failures in Firefox 148.0, and removes the now-nontrivial component entry from the generated components-full.toml list.

Changes:

  • Add base/comps/firefox/firefox.comp.toml with two spec-search-replace overlays to disable build_tests and enable_mozilla_crashreporter.
  • Remove the bare [components.firefox] entry from base/comps/components-full.toml since Firefox now has a dedicated comp file.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
base/comps/firefox/firefox.comp.toml Introduces overlays to toggle spec %global macros to avoid GCC 15 compilation failures.
base/comps/components-full.toml Removes Firefox from the “no per-component modifications” list now that it has a dedicated definition.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread base/comps/firefox/firefox.comp.toml
Comment thread base/comps/firefox/firefox.comp.toml
Comment thread base/comps/firefox/firefox.comp.toml
Firefox 148.0 fails to build with GCC 15 due to two issues:

1. mfbt/tests/TestIntegerRange.cpp uses uint8_t/uint16_t/uint32_t/uint64_t
   without #include <cstdint>. GCC 15 no longer leaks these types through
   transitive includes. Fix: disable build_tests (test binaries are not
   shipped in the RPM).

2. toolkit/crashreporter/breakpad-client/linux/handler/minidump_descriptor.h
   references non-existent field 'address_within_principal_mapping_'.
   Affects x86_64 where crash reporter is enabled. Fix: disable
   enable_mozilla_crashreporter.

The build failure was masked by './mach build -v 2>&1 | cat -' which
swallows the exit code, causing %install to run and packager.py to
report AccumulatedErrors for all missing files.

Verified: local x86_64 build succeeds with both overlays applied.
@christopherco christopherco merged commit 527c8c5 into tomls/base/main Apr 4, 2026
5 checks passed
@christopherco christopherco deleted the fix/firefox-gcc15 branch April 4, 2026 06:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants