Welcome to The Bug Genie
Please fill in your username and password below, and press "Continue" to log in.If you have not already registered, please use the "Register new account" tab to do so.
![]() Please wait while updating issue type...
Could not save your changes
This issue has been changed since you started editing it
Data that has been changed is highlighted in red below. Undo your changes to see the updated information
You have changed this issue, but haven't saved your changes yet. To save it, press the Save changes button to the right
This issue is blocking the next release
![]() Create a comment There are no comments
This issue has no duplicates
64c2352
May 24, 22:01 - Preceeded by c979ef0861ba07c598f9946c1e90488c2ad5fc7a
Log entry
Don't use the -fwhole-program compiler flag -fwhole-program can be used to tell the gcc that everything that makes up the final program is included in the current command, which allows it to use more aggressive optimizations. This can result in smaller and faster code. However, cmake always uses at least two commands to compile each executable, even with the unity build: one for building the user code and one for linking all libraries. Using the -fwhole-program option here can cause the compiler to not properly internalize some C++ objects (such as typeids) that are used in both the user code and external libraries, resulting in unexpected behavior. From my tests, there is no measurable performance gain and the file size reduction for the arx executable is 'only' around 18%. I think the potential problems outweigh those benefits, so -fwhole-program must go. This only affects unity builds as -fwhole-program was only used for those. Unity builds are still possible and recommended. In the future we can look into using link-time optimizations, but those are not stable enough in current gcc versions to be enabled by default. Also, quick tests show no real benefits. See crash report #245 See also commit 58aa3 and crash report #243 Changed files
Affected issues
64c2352
May 24, 22:01 - Preceeded by c979ef0861ba07c598f9946c1e90488c2ad5fc7a
Log entry
Don't use the -fwhole-program compiler flag -fwhole-program can be used to tell the gcc that everything that makes up the final program is included in the current command, which allows it to use more aggressive optimizations. This can result in smaller and faster code. However, cmake always uses at least two commands to compile each executable, even with the unity build: one for building the user code and one for linking all libraries. Using the -fwhole-program option here can cause the compiler to not properly internalize some C++ objects (such as typeids) that are used in both the user code and external libraries, resulting in unexpected behavior. From my tests, there is no measurable performance gain and the file size reduction for the arx executable is 'only' around 18%. I think the potential problems outweigh those benefits, so -fwhole-program must go. This only affects unity builds as -fwhole-program was only used for those. Unity builds are still possible and recommended. In the future we can look into using link-time optimizations, but those are not stable enough in current gcc versions to be enabled by default. Also, quick tests show no real benefits. See crash report #245 See also commit 58aa3 and crash report #243 Changed files
Affected issues
|
|||||||||||||||||||||||||||||||||||||
Really delete this comment?
arxcrash-10860-2816373975
Really delete this comment?
arxcrash-10860-2816373975
Really delete this comment?
arxcrash-10860-2816373975
Really delete this comment?
Does it still happen if you switch back to the debug version?
Really delete this comment?
It crashes the same way if I point cursor on the first bone lying in first stage.
No. Only release version is affected.
Really delete this comment?
Really delete this comment?
Really delete this comment?
The issue was updated with the following change(s):
Really delete this comment?
Really delete this comment?