Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MinGW] Force separate debug symbols if executable size is larger than 1.9 GB. #79875

Merged
merged 1 commit into from
Feb 13, 2024

Conversation

bruvzg
Copy link
Member

@bruvzg bruvzg commented Jul 25, 2023

Windows PE32+ executable format is limited to 2 GB size (in reality usually about 1.90 - 1.95 GB since limit applies to the memory map no size on disk), and full debug symbols are huge.

Godot editor size with symbols is already close to the limit and if a large module is added, it easily exceeds it, rendering executable unusable.

This change automatically enables separation of the debug symbols if the limit is exceeded.

@bruvzg bruvzg added this to the 4.2 milestone Jul 25, 2023
@bruvzg bruvzg requested a review from a team as a code owner July 25, 2023 09:19
@clayjohn clayjohn requested a review from akien-mga July 25, 2023 09:24
@Calinou
Copy link
Member

Calinou commented Jul 25, 2023

This change automatically enables separation of the debug symbols if the limit is exceeded.

This reminds me that in the long term, we should investigate using separate_debug_symbols=yes for official builds and provide a separate download with just the debug symbols file for each platform (including export templates).

Is there much of a downside to using separate_debug_symbols=yes by default in 2023? We had some issues with it when it was the default in 2018, so we disabled it by default back then.

@fire
Copy link
Member

fire commented Jul 26, 2023

What is the reasoning for a conditional toggle?

I'd like default on.

@bruvzg
Copy link
Member Author

bruvzg commented Jul 27, 2023

What is the reasoning for a conditional toggle?

It's slower to build and likely less compatible (I'm not sure if all IDEs will start the debugger in such a way that external symbols are picked up).

@AThousandShips AThousandShips modified the milestones: 4.2, 4.3 Oct 26, 2023
@bruvzg bruvzg force-pushed the mingw_force_sep_ds branch from f10ad8e to 6cb5256 Compare December 3, 2023 20:58
@akien-mga akien-mga merged commit 0040367 into godotengine:master Feb 13, 2024
15 checks passed
@akien-mga
Copy link
Member

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants