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