|
From: | Jez Wain |
Subject: | Re: [Bug-tar] [GNU tar 1.26] testsuite: 39 failed |
Date: | Thu, 26 Jul 2012 12:33:53 +0200 |
Paul, You may have found the culprit. I'd compiled tar on an earlier version of AIX without any problems. On receiving your mail I checked this older system and found that O_NOFOLLOW is not defined in any header. In fcntl.h there is only AT_SYMLINK_NOFOLLOW. On the new server, which produced the erroneous result, fcntl.h defines both O_NOFOLLOW and AT_SYMLINK_NOFOLLOW I added the following pre compiler code at the head of extract.c and ran: make extract.o #ifdef _XOPEN_SOURCE #warning Got _XOPEN_SOURCE #if _XOPEN_SOURCE >= 700 #warning _XOPEN_SOURCE >= 700 #endif // _OPEN_SOURCE >= 700 #endif // _XOPEN_SOURCE #ifdef O_NOFOLLOW #warning Got O_NOFOLLOW #else #warning No O_NOFOLLOW #endif #ifdef AT_SYMLINK_NOFOLLOW #warning Got AT_SYMLINK_NOFOLLOW #endif bash-4.2# make extract.o CC extract.o "extract.c", line 31.2: 1506-948 (W) #warning Got _XOPEN_SOURCE "extract.c", line 33.2: 1506-948 (W) #warning _XOPEN_SOURCE >= 700 "extract.c", line 41.2: 1506-948 (W) #warning Got O_NOFOLLOW "extract.c", line 48.2: 1506-948 (W) #warning Got AT_SYMLINK_NOFOLLOW bash-4.2# (I added the XOPEN_SOURCE tests as it is a condition for the definition of O_NOFOLLOW in fcntl.h) This explains why the code you flagged is not called as the test is for (! O_NOFOLLOW) but O_NOFOLLOW is defined Jez On 26 Jul 2012, at 00:08, Paul Eggert wrote:
|
[Prev in Thread] | Current Thread | [Next in Thread] |