[PATCH 2/4] tests/xstatx.c: fix stat syscall tests on mips64
James Cowgill
james410 at cowgill.org.uk
Wed Aug 10 10:38:43 UTC 2016
For historical reasons the kernel struct stat represents times as unsigned
32-bit integers on mips64. Therefore, while it's possible to give a file a
timestamp before 1970 with futimens, reading the same timestamp through
struct stat will give a positive time (around 2106).
Workaround by using positive timestamps for testing on mips64.
* tests/xstatx.c (create_sample): use positive timestamps on mips64
---
tests/xstatx.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tests/xstatx.c b/tests/xstatx.c
index 2883f16..a9fb8e8 100644
--- a/tests/xstatx.c
+++ b/tests/xstatx.c
@@ -211,7 +211,12 @@ static int
create_sample(const char *fname, const libc_off_t size)
{
static const struct timespec ts[] = {
+#ifdef __mips64
+ // On mips64, struct stat cannot handle negative timestamps
+ {10841, 246}, {10843, 135}
+#else
{-10843, 135}, {-10841, 246}
+#endif
};
(void) close(0);
--
2.8.1
More information about the Strace-devel
mailing list