-
Notifications
You must be signed in to change notification settings - Fork 1.2k
illumos: link against non-legacy getifaddrs #4803
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
base: main
Are you sure you want to change the base?
Conversation
|
I believe this will require an updated sysroot to avoid breaking the rust toolchain builds, as the current sysroot is from 2018: https://github.com/illumos/sysroot/releases/tag/20181213-de6af22ae73b-v1 |
Hmmm, would it be possible to use the same sysroot base but v2 that adds a stub or alias for |
We should absolutely bump the sysroot. I believe the intention was to follow something like the rust editions model, and moving it up to 2021 at the very least would be warranted. Keeping compatibility with the oldest supported LTS release of OmniOSCE would probably be a good target. |
|
It would be good to have a more clear Illumos version support policy, I asked for that in rust-lang/rust#146312 (comment). Then of course rustc should be building against one of the versions we support. In general, we can't upgrade versioned symbols until the new link name would be present in versions we support, to avoid breaking anyone who is using the existing symbol. We also prefer not to create Until the Rust support story gets clarified, |
|
We (illumos) are working on picking a date cut-off for the new sysroot, as well as clarifying our policies around versioning and support (as best we can, given that much of that is up to the downstream distros). We'll circle back here as soon as a decision has been made, a new sysroot has been cut, and it has been pulled into the rust-lang/rust build for illumos. |
Description
The
libccrate links against the legacy version ofgetifaddrson illumos which only returnsAF_INET[6]entries.As of illumos#11196,
getifaddrswas updated to also returnAF_LINKentries but was done in such a way to preserve existing binaries that only expected the old behaviour. That is, the symbolgetifaddrswould refer to the legacy version but newly compiled C programs would get the new version by linking against__getifaddrs(via aredefine_extnamepragma inifaddrs.h).Before:
After:
Sources
Checklist
libc-test/semverhave been updated (getifaddrsis excluded on illumos)*LASTor*MAXare included (see #3131)libc-testseems broken on illumos on main)This is potentially a breaking change but it would be nice to get in 0.2. Unsure what the exact policy is there.
@rustbot label +stable-nominated