openbsd: doesn't use static as it could result duplicated symbols#249
Merged
alexcrichton merged 1 commit intorust-lang:masterfrom Jul 16, 2018
semarie:openbsd
Merged
openbsd: doesn't use static as it could result duplicated symbols#249alexcrichton merged 1 commit intorust-lang:masterfrom semarie:openbsd
static as it could result duplicated symbols#249alexcrichton merged 1 commit intorust-lang:masterfrom
semarie:openbsd
Conversation
bors
added a commit
to rust-lang/rust
that referenced
this pull request
Jul 18, 2018
update compiler-builtins for openbsd import rust-lang/compiler-builtins/pull/249 in rust main line. it solves an issue on OpenBSD with building of `librsvg`.
tgross35
pushed a commit
to tgross35/compiler-builtins
that referenced
this pull request
Feb 23, 2025
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
I found using
statichere could result in problem forlibrsvgbuilding.librsvgfirst generates a static library with Rust code, and next mix objects from C code and Rust code to make a dynamic library.when using
static, the resultingrlibcontains:libcompiler_rt.aand so, duplicated symbols.
It isn't a problem when linking
dylibor binary: the linker will keep only the first resolved symbol. But the waylibrsvgbuild makes the linker to see the duplicated symbols.Without
static, the generatedrlibcontains:libcompiler_rt.a(OpenBSD doesn't provide dynamic library for compiler_rt)I have backported the PR on OpenBSD ports tree and use without problem for the following program/library: rustc/cargo, firefox, ripgrep, exa, librsvg