Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Slim executables
References
Motivation
Some of our client languages necessitate the inclusion of all supported platform/architecture combinations in a single package distributed to end-users.
Reducing the size of the executables and libraries if preferable, if there is no discernible difference for end user.
The proposed set of changes, opts not to set
panic=abort
over the default ofpanic=unwind
.The inclusion of the
panic=abort
will change behaviour which may lead to changes in how we program (if we are expecting to be able to unwind - maybe more relevant for the ffi?), but leads to smaller binary sizes. To go further than that, we need to build against nightly rust channels, which is probably less than preferable.I believe these set of options provides the best trade-offs whilst remaining on a stable rust channel.
The strip option as a minimum should be included, it is actually now enabled by default in rust 1.77, related issue
rust-lang/cargo#4122