|
From: | Paul Eggert |
Subject: | Re: 'cp' now uses openat etc. when copying to directories |
Date: | Sat, 15 Jan 2022 12:27:30 -0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 |
On 1/15/22 11:55, Bernhard Voelker wrote:
yep, `make check-very-expensive` fails due to 3x segmentation faults: FAIL: tests/cp/cp-parents FAIL: tests/cp/parent-perm-race FAIL: tests/mv/hard-3
Yes, I think these were due to the fact that my initial tests used GCC with optimization levels so high that GCC optimized the bugs away (!). I installed commit f39a02a744ae97f6879ba1d20a528192772773e0 to try to fix the bugs.
Furthermore, 'make syntax-check' complains about: prohibit_readlink src/copy.c:1266: if (0 <= readlinkat (dst_dirfd, dst_relname, dummy, sizeof dummy)) maint.mk: do not use readlink(at); use via xreadlink or areadlink* make: *** [cfg.mk:446: sc_prohibit_readlink] Error 1
Thanks for mentioning that. I think this syntax-check is too strict, as I've found that it's useful to invoke readlinkat with a 1-byte destination buffer if one merely wants to test whether a file is a symbolic link and does not care where it points to. This approach can be better than fstatat since it needn't worry about EOVERFLOW issues. So I installed the attached to remove the check.
0001-build-allow-readlinkat-calls.patch
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |