-
Notifications
You must be signed in to change notification settings - Fork 4
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
Compile libunwind in release mode #102
Conversation
Default build is `DEBUG`. Switch to `RelWithDebInfo`. ``` **CMAKE_BUILD_TYPE**:STRING Sets the build type for ``make`` based generators. Possible values are Release, Debug, RelWithDebInfo and MinSizeRel. On systems like Visual Studio the user sets the build type with the IDE settings. ```
How about using |
Goal was to update As part of the bumps, there were 2 build system changes upstream, with the standalone build that was used historically initially deprecated and later removed. There's a ton of upstream CMake scripts in Further, he There's also the #48 pointer authentication issue which is only present in a specific combination. Changing any of the variables gets rid of the problem. This should probably be addressed before doing more changes, to have a stable basis to compare against.
And, then there's a more overarching question, whether we should even continue to use |
this is more of a legacy decision that indeed isn't tied to the cmake upgrade specifically - in particular, it's a tradeoff between the complexity of the native build system and what nim is capable of doing and bugs in nim 4 years ago. Re C++, the funny thing is that there's usually a compiler-provided copy of libunwind linked to the binary already since it's also used for exception unwinding - sometimes, the OS provides yet another version of the same thing, it's a bit of a mess.
yes - the native nim solution is insanely/unusably slow
Many of these are actually nim compiler bugs where it generates invalid I guess the problem here is that there are many overlapping bugs and platform-specific behaviors in stack frame unwinding and fixing one does not necessarily lead to an overall improvement until a sufficient number have been quashed. |
Default build is
DEBUG
. Switch toRelWithDebInfo
.