Skip to content

Conversation

@3v1n0
Copy link
Contributor

@3v1n0 3v1n0 commented Dec 2, 2025

Description

We have more fields that are padding areas that are currently marked as
public and not marked as Padding, which is causing the generated Hash
and PartialEq implementations to take care of them wrongly.

So fix them

Sources

Checklist

  • Relevant tests in libc-test/semver have been updated
  • No placeholder or unstable values like *LAST or *MAX are
    included (see #3131)
  • Tested locally (cd libc-test && cargo test --target mytarget);
    especially relevant for platforms that may not be checked in CI

@rustbot
Copy link
Collaborator

rustbot commented Dec 2, 2025

Some changes occurred in solarish module

cc @jclulow, @pfmooney

Some changes occurred in OpenBSD module

cc @semarie

Some changes occurred in the Android module

cc @maurer

@tgross35
Copy link
Contributor

tgross35 commented Dec 2, 2025

For anything where the padding field is private, I'm happy to apply this change and get it into a release in the next day or two. Would you mind splitting these out to a separate commit or PR?

For everything where the field is public, we can do the change in main but can't release it (they really should be private unfortunately). libc is pretty strongly moving away from these traits so the better thing to do in these cases is to define the traits in nix (rather than deriving from libc) which is more content-aware and can make better decisions than libc.

@3v1n0 3v1n0 force-pushed the more-padding-fixes branch from 2bcd48f to a33c485 Compare December 2, 2025 22:26
@tgross35
Copy link
Contributor

tgross35 commented Dec 2, 2025

For anything where the padding field is private, I'm happy to apply this change and get it into a release in the next day or two. Would you mind splitting these out to a separate commit or PR?

For this you can feel free to include anything that is a tier 3 target since occasional breaking changes are fine. freebsd-riscv, openbsd, cygwin, haiku, hurd, csky, mips, riscv32, hexagon, uclibc, and newlib all fall into this category.

@3v1n0 3v1n0 force-pushed the more-padding-fixes branch from a33c485 to 643c3bd Compare December 2, 2025 22:40
@3v1n0 3v1n0 force-pushed the more-padding-fixes branch 3 times, most recently from b65a896 to 73bf773 Compare December 2, 2025 22:53
@3v1n0
Copy link
Contributor Author

3v1n0 commented Dec 2, 2025

For anything where the padding field is private, I'm happy to apply this change and get it into a release in the next day or two. Would you mind splitting these out to a separate commit or PR?

Sure thing, let me play here to see the failures I can't replicate locally in CI first :)

@3v1n0 3v1n0 marked this pull request as draft December 2, 2025 22:56
@3v1n0 3v1n0 force-pushed the more-padding-fixes branch 5 times, most recently from a0a5285 to 1617435 Compare December 3, 2025 02:09
3v1n0 added 4 commits December 3, 2025 16:49
Some were already done, more were missing
As previous commit, but tackle the *padding* fields
We have some leftovers of alignment data that is exposed
@3v1n0 3v1n0 force-pushed the more-padding-fixes branch from 1617435 to ba3218b Compare December 3, 2025 15:59
@3v1n0
Copy link
Contributor Author

3v1n0 commented Dec 3, 2025

@rustbot ready

@3v1n0 3v1n0 marked this pull request as ready for review December 3, 2025 16:02
@3v1n0 3v1n0 requested a review from tgross35 December 3, 2025 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants