problem with posix_fadvise() on ia64
David Mosberger
davidm@napali.hpl.hp.com
Wed Mar 3 02:45:00 GMT 2004
There appears to be a problem with fadvise() on ia64: glibc contains
both posix_fadvise.o and posix_fadvise64.o:
$ nm -g --defined posix_fadvise*.o
posix_fadvise.o:
0000000000000000 T posix_fadvise
posix_fadvise64.o:
0000000000000000 W posix_fadvise
0000000000000000 T posix_fadvise64
The first comes from sysdeps/unix/sysv/linux/posix_fadvise.c and is
wrong for ia64. The latter is generated based on
sysdeps/unix/sysv/linux/ia64/syscalls.list and seems to be fine.
The problem with the first stub is that it splits the 64-bit offset
argument into two separate 32-bit arguments, which makes no sense on
ia64.
I'm not sure what the best way to fix this is. Compiling with
-D_FILE_OFFSET_BITS=64 works around the problem, but clearly that
shouldn't be necessary.
Thanks,
--david
More information about the Libc-hacker
mailing list