On Wed, Jun 15, 2005 at 01:24:11AM +0800, Ivan Wong wrote: > > I think I know why now. It's -D_FILE_OFFSET_BITS=64. i.e. > > > > gcc -D_POSIX_C_SOURCE=200112L -D_FILE_OFFSET_BITS=64 a.c > Look further, I think /usr/include/features.h gives some hints: > > # ifndef __USE_FILE_OFFSET64 > extern int posix_fadvise (int __fd, __off_t __offset, __off_t __len, > int __advise) __THROW; > # else > # ifdef __REDIRECT > extern int __REDIRECT (posix_fadvise, (int __fd, __off64_t __offset, > __off64_t __len, int __advise) > __THROW, > posix_fadvise64); > # else > # define posix_fadvise posix_fadvise64 > # endif > > what about posix_fadvise64() with kernel 2.4?
Yep, i also got to this conclusion. glibc should return -ENOSYS, when doing that call on a 2.4 kernel. It does this and then crashes your program very nice.. Sjoerd -- Waste not fresh tears over old griefs. -- Euripides -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]