-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Add a make flag to produce a seperate debug archive #74067
base: master
Are you sure you want to change the base?
Conversation
That's not promising lol. https://github.com/CleverRaven/Cataclysm-DDA/actions/runs/9245036514/job/25431113711#step:14:1147 |
Well there's your problem. |
Damn
Need to test on more recent gcc in case they reversed this. LTO is the #1 place where this helps in principle. |
Clang doesn't seem happy about split-dwarf plus LTO either: https://discourse.llvm.org/t/lto-thinlto-and-split-dwarf/70927 |
Seems like it's still OOMing on some builds, in the dwp step. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered. |
Summary
None
Purpose of change
Split debugging data into separate files.
This also reduces link time and memory utilization.
It also seems to decrease ccache disk utilization locally.
Describe the solution
Add a flag to the Makefile that splits debug data to .dwo files instead of writing them to .o files, and then bundles them into a .dwp file.
This .dwp file will need to be archived and such in CI so we can retrieve it for testing.
For testing and for build speed benefits I'm trying out enabling it on most CI builds.
Testing
Produces .dwo and .dwp files locally.
Launched cataclysm and cata_test under gdb, able to print full backtraces, step, print variable names, etc.
You shouldn't need to do anything to have this work on local builds.
Additional context
This will need some more follow up to bundle the new archive from CI.