From: Markos Chandras <[email protected]> New Linux Kernel architectures do not define NR_getdents so we try to use the getdents64 syscall instead
Signed-off-by: Markos Chandras <[email protected]> --- testcases/kernel/syscalls/getdents/getdents.h | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/testcases/kernel/syscalls/getdents/getdents.h b/testcases/kernel/syscalls/getdents/getdents.h index 1d5e584..12d2be4 100644 --- a/testcases/kernel/syscalls/getdents/getdents.h +++ b/testcases/kernel/syscalls/getdents/getdents.h @@ -38,12 +38,23 @@ * declare our own here. Wheeeeee. */ +#ifdef SYS_getdents struct linux_dirent { unsigned long d_ino; unsigned long d_off; unsigned short d_reclen; char d_name[]; }; +#else +/* Use the 64-bit definition */ +struct linux_dirent { + unsigned long long d_ino; + long long d_off; + unsigned short d_reclen; + unsigned char d_type; + char d_name[0]; +}; +#endif static inline int getdents(unsigned int fd, struct dirent *dirp, unsigned int count) @@ -57,7 +68,11 @@ getdents(unsigned int fd, struct dirent *dirp, unsigned int count) unsigned int i; ptrs.buf = buf; +#ifdef SYS_getdents ret = syscall(SYS_getdents, fd, buf, count); +#else + ret = syscall(SYS_getdents64, fd, buf, count); +#endif if (ret < 0) return ret; -- 1.7.1 ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
