mirror of
https://github.com/openharmony/third_party_rust_rustix.git
synced 2026-07-01 20:54:01 -04:00
3e727c5d60
Add a config macro to qemu to tell it that s390x is intended to populate the `*_nsec` fields in an `fstat` call.
28 lines
960 B
Diff
28 lines
960 B
Diff
From: Dan Gohman <dev@sunfishcode.online>
|
|
Subject: [PATCH] Define `TARGET_STAT_HAVE_NSEC` for s390x
|
|
|
|
Without this, The `fstat` syscall sets `st_mtime_nsec` and the other `_nsec`
|
|
fields to 0. Libc `fstat` will sometimes use the `fstatat` or `fstat64`
|
|
syscalls instead, which aren't affected, but the libc `fstat` on ubuntu-20.04
|
|
on Github Actions appears to be affected.
|
|
|
|
This can be seen in the `st_mtime_nsec` assert in tests/fs/futimens.rs.
|
|
|
|
It's not yet known why upstream qemu doesn't define this.
|
|
|
|
---
|
|
linux-user/generic/sockbits.h | 1 +
|
|
1 files changed, 1 insertions(+)
|
|
|
|
diff -ur a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
|
|
--- a/linux-user/syscall_defs.h 2021-08-24 10:35:41.000000000 -0700
|
|
+++ b/linux-user/syscall_defs.h 2022-04-12 13:23:25.291064887 -0700
|
|
@@ -2040,6 +2040,7 @@
|
|
abi_long __unused[3];
|
|
};
|
|
#elif defined(TARGET_S390X)
|
|
+#define TARGET_STAT_HAVE_NSEC
|
|
struct target_stat {
|
|
abi_ulong st_dev;
|
|
abi_ulong st_ino;
|