On 09/01/11 10:07, Kevin Brott wrote:
> CFLAGS as created by ./configure are just "-g".
OK, can you please try compiling and running the test program in
<http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00041.html>
with the options
-g -D_LARGE_FILES
and say what its exit status is? Also, please send its "truss"
output.
$ xlc -g -D_LARGE_FILES -o test source.c
$ ./test ; echo $?
0
$ truss -f ./test
5308926: execve("./test", 0x2FF22808, 0x200132A8) argc: 1
5308926: 26083629: kopen(".", O_RDONLY|O_LARGEFILE) = 3
5308926: 26083629: statxat(3, "conftest.file", 0x2FF22660, 128, 011) = 0
5308926: 26083629: statx("conftest.file", 0x2FF226E0, 128, 011) = 0
5308926: 26083629: kfcntl(1, F_GETFL, 0x00000000) = 67110914
5308926: 26083629: kfcntl(2, F_GETFL, 0x2FF22FFC) = 67110914
5308926: 26083629: _exit(0)
Another idea: please try running the test program on a larger
conftest.file file, one whose size is that of the file that 'tar'
fails with. It could be that the st_size problem occurs only with
larger files.
No change, note that tar was failing on all file sizes (see previous example - both test files were < 2GB, 10K and 100K respectively).
Also, please send the preprocessor output of the test program,
and of tar's create.c file. You should be able to generate that
with "xlc -E create.c" but make sure you specify all the -I and -D
options that you do with a real compile. Similarly, for the
test program, please send the output of "xlc -E -g -D_LARGE_FILES test.c".
cd src ; xlc -DHAVE_CONFIG_H -I. -I../ -I../gnu -I../lib -g -E create.c > create.cpp ; # compressed & attached
xlc -E -g -D_LARGE_FILES test.c > test.cpp ; # compressed & attached
And are you on a 32- or 64-bit host?