Several fixes for Linux/musl/s390x - #4549
Conversation
|
@tgross35 I probably missed some of the finer details of version tracking in the libc crate. I'm looking forward to your (and/or someone else's) review |
c280654 to
62da8b9
Compare
tgross35
left a comment
There was a problem hiding this comment.
Sorry for the delay, been a bit behind on libc. Just a few small things
adbe903 to
e3f7cad
Compare
|
@tgross35 this is ready for review again |
| s_no_extra_traits! { | ||
| // FIXME(union): This is actually a union. | ||
| pub struct fpreg_t { | ||
| pub union fpreg_t { | ||
| pub d: c_double, | ||
| // f: c_float, | ||
| pub f: c_float, | ||
| } | ||
| } |
There was a problem hiding this comment.
Noting to self that this patch won't get backported
tgross35
left a comment
There was a problem hiding this comment.
Thanks! As always, I appreciate the clean+detailed commits
Good point. I'll follow 051fa61 and make the traits |
Head branch was pushed to by a user without write access
e3f7cad to
31ee4fc
Compare
https://git.musl-libc.org/cgit/musl/tree/arch/s390x/bits/statfs.h statfs64 is the same as statfs on musl-libc, so it can also be a type alias on the Rust side. https://git.musl-libc.org/cgit/musl/tree/include/sys/statfs.h#n21
glibc provides these symbols, but musl does not.
musl-libc does not implement sysctl.
SYS_mseal is not yet defined in musl-libc, but it can only take one possible value, dictated by the kernel's syscall ABI.
Previously, the definition was only changed for glibc but not for musl. Fixes: 051fa61 ("Make `fpreg_t` an union")
Head branch was pushed to by a user without write access
31ee4fc to
82bf1d8
Compare
|
rebased to trigger rebuild after android CI failure. @tgross35 sorry if this throws a wrench into the review flow |
musl-libc does not implement sysctl. (backport <rust-lang#4549>) (cherry picked from commit 751f3b6)
SYS_mseal is not yet defined in musl-libc, but it can only take one possible value, dictated by the kernel's syscall ABI. (backport <rust-lang#4549>) (cherry picked from commit 6a13fd5)
Previously, the definition was only changed for glibc but not for musl. Fixes: 051fa61 ("Make `fpreg_t` an union") (backport <rust-lang#4549>) (cherry picked from commit 2e670a8)
https://git.musl-libc.org/cgit/musl/tree/arch/s390x/bits/statfs.h statfs64 is the same as statfs on musl-libc, so it can also be a type alias on the Rust side. https://git.musl-libc.org/cgit/musl/tree/include/sys/statfs.h#n21 (backport <rust-lang#4549>) (cherry picked from commit dd6f54c)
glibc provides these symbols, but musl does not. (backport <rust-lang#4549>) (cherry picked from commit da77f0f)
musl-libc does not implement sysctl. (backport <rust-lang#4549>) (cherry picked from commit 751f3b6)
SYS_mseal is not yet defined in musl-libc, but it can only take one possible value, dictated by the kernel's syscall ABI. (backport <rust-lang#4549>) (cherry picked from commit 6a13fd5)
Previously, the definition was only changed for glibc but not for musl. Fixes: 051fa61 ("Make `fpreg_t` an union") (backport <rust-lang#4549>) (cherry picked from commit 2e670a8)
https://git.musl-libc.org/cgit/musl/tree/arch/s390x/bits/statfs.h statfs64 is the same as statfs on musl-libc, so it can also be a type alias on the Rust side. https://git.musl-libc.org/cgit/musl/tree/include/sys/statfs.h#n21 (backport <rust-lang#4549>) (cherry picked from commit dd6f54c)
glibc provides these symbols, but musl does not. (backport <rust-lang#4549>) (cherry picked from commit da77f0f)
musl-libc does not implement sysctl. (backport <rust-lang#4549>) (cherry picked from commit 751f3b6)
SYS_mseal is not yet defined in musl-libc, but it can only take one possible value, dictated by the kernel's syscall ABI. (backport <rust-lang#4549>) (cherry picked from commit 6a13fd5)
Previously, the definition was only changed for glibc but not for musl. Fixes: 051fa61 ("Make `fpreg_t` an union") (backport <rust-lang#4549>) (cherry picked from commit 2e670a8)
https://git.musl-libc.org/cgit/musl/tree/arch/s390x/bits/statfs.h statfs64 is the same as statfs on musl-libc, so it can also be a type alias on the Rust side. https://git.musl-libc.org/cgit/musl/tree/include/sys/statfs.h#n21 (backport <#4549>) (cherry picked from commit dd6f54c)
https://git.musl-libc.org/cgit/musl/tree/arch/s390x/bits/statfs.h statfs64 is the same as statfs on musl-libc, so it can also be a type alias on the Rust side. https://git.musl-libc.org/cgit/musl/tree/include/sys/statfs.h#n21 (backport <#4549>) (cherry picked from commit dd6f54c)
This PR fixes compilation against libc 0.2.176 on s390x-unknown-linux-musl. libc 0.2.176 fixed the definitions of statfs to align them with musl, see rust-lang/libc#4549 for the PR that fixed it. Signed-off-by: Jens Reidel <adrian@travitia.xyz>
This PR fixes compilation against libc 0.2.176 on s390x-unknown-linux-musl. libc 0.2.176 fixed the definitions of statfs to align them with musl, see rust-lang/libc#4549 for the PR that fixed it. Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Description
This PR updates several APIs with respect to their definitions in musl-libc.
Sources
Links are included in the commit messages.
Checklist
libc-test/semverhave been updated*LASTor*MAXareincluded (see #3131)
cd libc-test && cargo test --target mytarget);especially relevant for platforms that may not be checked in CI