|
From: | Paul Eggert |
Subject: | Re: [PATCH 2/6] canonicalize: fix EOVERFLOW bug |
Date: | Sun, 13 Dec 2020 17:42:52 -0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0 |
On 12/11/20 3:47 AM, Bruno Haible wrote:
This patch introduced a unit test regression on AIX 7.2.... ../../gltests/test-canonicalize.c:112: assertion 'result1 == NULL' failed FAIL test-canonicalize (exit status: 134)
Thanks for reporting it. My recent changes to the canonicalize code assumed POSIX, but AIX readlink departs from the POSIX spec by failing with ERANGE instead of truncating link contents. Plus, the code had a natural assumption that POSIX might not support, namely, that readlink ("a/", ...) should fail with ENOTDIR (not EINVAL) when "a" is not a directory.
I installed the attached patches to work around these issues, along with other stuff I noticed while testing this under AIX 7.2 (gcc119, which is power8-aix). The relevant unit tests succeed for me now.
0001-readlink-readlinkat-add-ERANGE-portability.patch
Description: Text Data
0002-getcwd-port-to-AIX.patch
Description: Text Data
0003-Assume-readlink-readlinkat-ERANGE-fix.patch
Description: Text Data
0004-canonicalize-fix-AIX-test-failures.patch
Description: Text Data
0005-string-port-memchr-macro-to-AIX-7.2-XLC.patch
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |