Skip to content
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

Static vs dynamic linking defaults for MUSL targets #416

Closed
wesleywiser opened this issue Mar 11, 2021 · 2 comments
Closed

Static vs dynamic linking defaults for MUSL targets #416

wesleywiser opened this issue Mar 11, 2021 · 2 comments

Comments

@wesleywiser
Copy link
Member

wesleywiser commented Mar 11, 2021

Meeting proposal info

Summary

Rust currently has Tier 2 targets for a number of platforms while using MUSL for libc (various flavors of ARM, MIPS and x86) as well as some Tier 3 targets (Hexagon, PowerPC, RISC-V, S390x and ARMv7 Thumb). Currently (most of) these targets statically link to MUSL libc during compilation. While that can be desirable to build fully statically linked binaries, this creates issues for MUSL based Linux distros which want to dynamically link libc. These issues have lead to a suboptimal experience for distro maintainers trying to bring Rust up in their distros.

rust-lang/rust#82556 seeks to improve the status quo. Originally, the plan was to create a new set of targets for dynamically linked MUSL. Since then, a new approach has been suggested which would not require duplicating the set of MUSL targets: change the current targets to dynamically link by default (which matches the behavior of the corresponding glibc targets). This approach has support from participants in the PR thread but there are some questions that should be resolved:

  • Is changing the defaults for these targets feasible (in some sense, breaking the current behavior)?
  • How can we mitigate the impact to users of these targets?
  • What steps need to be taken to appropriately message this change to users?
  • If this is not feasible, should we add new targets for dynamically linked MUSL instead (and what name should they be given)?

About this issue

This issue corresponds to a meeting proposal for the compiler team
steering meeting. It corresponds to a possible topic of
discussion. You can read more about the steering meeting procedure
here
.

Comment policy

These issues are meant to be used as an "announcements channel"
regarding the proposal, and not as a place to discuss the technical
details. Feel free to subscribe to updates. We'll post comments when
reviewing the proposal in meetings or making a scheduling decision.
In the meantime, if you have questions or ideas, ping the proposers
on Zulip (or elsewhere).

@wesleywiser
Copy link
Member Author

This meeting has been scheduled for March 26 at 10am EDT (14:00 UTC).

@pnkfelix
Copy link
Member

pnkfelix commented May 5, 2023

@pnkfelix pnkfelix closed this as completed May 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants