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
check for mips targets for stat.st_dev definitions #103
Conversation
Thanks for the PR. Can you maybe add some details about where this showed up? |
I'd also appreciate a summary of the linked bug report; it's rather long, and I'm not sure what information or fact I should read from it. |
st_dev has wrong type in glibc when using mips/O32 ABI its type should be dev_t but it is set to unsigned long int this is specific issue on mips/o32 ABI in glibc for details See https://sourceware.org/bugzilla/show_bug.cgi?id=17786 currently the build fails on mips archirecture with type mismatches Fixes error[E0308]: mismatched types * --> /usr/src/debug/python3-pyruvate/1.1.2-r0/cargo_home/bitbake/libsystemd-0.4.1/src/logging.rs:296:25 | 296 | device: stat.st_dev, | ^^^^^^^^^^^ expected `u64`, found `u32` Signed-off-by: Khem Raj <raj.khem@gmail.com>
What Rust tier does the corresponding target belong to? I'm asking because I'm not keen on maintaining architecture specific code here. If it's anything but a tier 1 target my vote would be to account for this mismatch for elsewhere, e.g. upstream libc or nix😬 I'm fine with using a different API at this place, as long as we don't have do deal with cfg here. Perhaps we can use std::fs::Metadata here somehow. |
I'm closing this in favour of #104 which I just merged 🙂 |
See
https://sourceware.org/bugzilla/show_bug.cgi?id=17786
Signed-off-by: Khem Raj raj.khem@gmail.com