This repository was archived by the owner on Jun 28, 2022. It is now read-only.
Adjust per-platform link libraries#12
Merged
Merged
Conversation
While investigating a sigsegv due to strange linking, I realized that the link libraries that Rust suggests are per platform. This commit adjusts the pkg-config and cmake helpers in a per-platform way. Note that this is brittle. Any change in these flags should be investigated by a human.
This is because if it is present, even if -static-libgcc is provided, then it will be present in the final library runtime dependencies. This is undesirable at least on Alpine Linux, where it may not even be present due to the platform's minimalism.
r1viollet
approved these changes
Jan 3, 2022
r1viollet
left a comment
Contributor
There was a problem hiding this comment.
Good thing we are now secured against link time changes. Thanks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
What does this PR do?
Adjusts the per-platform link libraries included in the pkg-config and
cmake helpers.
Motivation
While investigating a sigsegv due to strange linking, I realized that
the link libraries that Rust suggests are per platform.
Additional Notes
This is brittle. Any change in these flags should be investigated by a
human.
How to test the change?
Existing build scripts should still work, although there may now be more
runtime dependencies than before. It's unclear to me how many of these
libraries actually need to be linked at runtime, but I don't have a
good programmatic way of figuring out how to pare it down.