Skip to content

Compile tweak.cpp with /bigobj on MSVC to fix COFF limit error#2767

Merged
daid merged 1 commit intodaid:masterfrom
oznogon:msvc-coff-limit
Mar 6, 2026
Merged

Compile tweak.cpp with /bigobj on MSVC to fix COFF limit error#2767
daid merged 1 commit intodaid:masterfrom
oznogon:msvc-coff-limit

Conversation

@oznogon
Copy link
Contributor

@oznogon oznogon commented Mar 6, 2026

On at least MSVC 14.50.35717, EE builds can fail with an error while compiling tweak.cpp:

fatal error C1128: number of sections exceeded object file
format limit: compile with /bigobj

This commit adds a section to CMakeLists.txt to compile tweak.cpp with this flag when using MSVC.

Per the docs, MSVC's default limit is 65,279 (~16-bit unsigned integer) common object file format (COFF) sections per .obj file, and the number of templates instantiating sections in this file is near or at that limit.

The /bigobj flag raises the COFF section limit to about 4 billion (32-bit unsigned integer). Alternatives would be to either split tweak.cpp into per-component units or enable /bigobj across the project in MSVC.

GCC and MinGW don't limit COFF sections, so they aren't affected.

On at least MSVC 14.50.35717, EE builds can fail with an error
while compiling tweak.cpp:

    fatal error C1128: number of sections exceeded object file
    format limit: compile with /bigobj

This commit adds a section to CMakeLists.txt to compile tweak.cpp
with this flag when using MSVC.

MSVC's default limit is 65,279 (~16-bit unsigned integer) of COFF
sections per .obj file, and the number of templates instantiating
sections in this file is near or at that limit.

The /bigobj flag raises the COFF section limit to about 4 billion
(32-bit unsigned integer). Alternatives would be to either split
tweak.cpp into per-component units or enable /bigobj across the
project in MSVC.

GCC and MinGW don't limit COFF sections, so they aren't affected.
@daid daid merged commit 009dfa5 into daid:master Mar 6, 2026
5 checks passed
@oznogon oznogon deleted the msvc-coff-limit branch March 7, 2026 18:59
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.

2 participants