[PATCH v2 1/3] tests/xstatx.c: fix stat syscall tests on mips64

James Cowgill james410 at cowgill.org.uk
Thu Aug 11 16:33:01 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