On 2/28/21 11:59 AM, Milan Kupcevic wrote:
A couple of timestamp tests are failing on mips64el. Please let me know
if you need more info.
What happens if you run the following shell commands, using the 
just-built gzip? What gzip.tr file is generated?
TZ=UTC0
export TZ
rm -f in in.gz
touch -t 190101010000 in
strace -v -o gzip.tr ./gzip in

The key part will be what is in the last few lines of gzip.tr when gzip looks at the file "in". Here's how gzip.tr ends on my Ubuntu 20.10 ext4 system:
...
openat(AT_FDCWD, ".", O_RDONLY|O_DIRECTORY) = 3
openat(3, "in", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_NOFOLLOW) = 4
fstat(4, {st_dev=makedev(0x103, 0), st_ino=32392569, st_mode=S_IFREG|0664, st_nlink=1, st_uid=1000, st_gid=1000, st_blksize=4096, st_blocks=0, st_size=0, st_atime=-2147483648 /* 1901-12-13T20:45:52+0000 */, st_atime_nsec=0, st_mtime=-2147483648 /* 1901-12-13T20:45:52+0000 */, st_mtime_nsec=0, st_ctime=1614975280 /* 2021-03-05T20:14:40.477784697+0000 */, st_ctime_nsec=477784697}) = 0
brk(NULL)                               = 0x555f5c8fc000
brk(0x555f5c91d000)                     = 0x555f5c91d000
rt_sigprocmask(SIG_BLOCK, [HUP INT PIPE TERM XCPU XFSZ], [], 8) = 0
openat(3, "in.gz", O_WRONLY|O_CREAT|O_EXCL, 0600) = 5
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
write(2, "gzip: in: warning: file timestam"..., 63) = 63
read(4, "", 65536)                      = 0
write(5, "\37\213\10\10\0\0\0\0\0\3in\0\3\0\0\0\0\0\0\0\0\0", 23) = 23
close(4)                                = 0
utimensat(5, NULL, [{tv_sec=-2147483648, tv_nsec=0} /* 1901-12-13T20:45:52+0000 */, {tv_sec=-2147483648, tv_nsec=0} /* 1901-12-13T20:45:52+0000 */], 0) = 0
fchown(5, -1, 1000)                     = 0
fchmod(5, 0664)                         = 0
fchown(5, 1000, -1)                     = 0
close(5)                                = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT PIPE TERM XCPU XFSZ], [], 8) = 0
unlinkat(3, "in", 0)                    = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
exit_group(2)                           = ?
+++ exited with 2 +++


Perhaps the timestamps are somehow messed up on your platform, in which case you need to investigate why fstat is returning incorrect timestamps for the input file.


Reply via email to