capi: fix #[cfg(...)] soup for .symver #321
Open
+165
−46
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.
Commit ba50ccd ("capi: use rustversion for symver") expanded the
usage of .symver on architectures where global_asm! was stabilised after
our MSRV to try to maximise our use of symbol versions.
Unfortunately, the way that this was written actually caused us to
disable symbol versions on all Rust versions post-1.72 (the first Rust
version we enabled this support for).
The solution is to swap the order so that #[rustversion::since] is the
attribute being applied rather than #[cfg(target_arch = "...")] (which
cannot be true more than once). While we're at it, add a CI test for
this so we don't break it again in the future by accident.
Fixes #318
Fixes: ba50ccd ("capi: use rustversion for symver")
Signed-off-by: Aleksa Sarai cyphar@cyphar.com