1From 56984b19469ff5b69b8b8e180dc75cf825bb1123 Mon Sep 17 00:00:00 2001 2From: Khem Raj <raj.khem@gmail.com> 3Date: Tue, 25 Jan 2022 22:28:11 -0800 4Subject: [PATCH] check for mips targets for stat.st_dev definitions 5 6st_dev has wrong type in glibc when using mips/O32 ABI 7its type should be dev_t but it is set to unsigned long int 8this is specific issue on mips/o32 ABI in glibc for details 9 10See 11https://sourceware.org/bugzilla/show_bug.cgi?id=17786 12 13currently the build fails on mips archirecture with type mismatches 14 15 Fixes 16 error[E0308]: mismatched types 17* --> /usr/src/debug/python3-pyruvate/1.1.2-r0/cargo_home/bitbake/libsystemd-0.4.1/src/logging.rs:296:25 18 | 19 296 | device: stat.st_dev, 20 | ^^^^^^^^^^^ expected `u64`, found `u32` 21 22Upstream-Status: Submitted [https://github.com/lucab/libsystemd-rs/pull/103] 23Signed-off-by: Khem Raj <raj.khem@gmail.com> 24--- 25 src/logging.rs | 3 +++ 26 1 file changed, 3 insertions(+) 27 28diff --git a/src/logging.rs b/src/logging.rs 29index a68c36a..6e374ae 100644 30--- a/src/logging.rs 31+++ b/src/logging.rs 32@@ -292,7 +292,10 @@ impl JournalStream { 33 pub fn from_fd<F: AsRawFd>(fd: F) -> std::io::Result<Self> { 34 nix::sys::stat::fstat(fd.as_raw_fd()) 35 .map(|stat| JournalStream { 36+ #[cfg(not(target_arch = "mips"))] 37 device: stat.st_dev, 38+ #[cfg(target_arch = "mips")] 39+ device: stat.st_dev as u64, 40 inode: stat.st_ino, 41 }) 42 .map_err(std::io::Error::from) 43-- 442.35.0 45 46