From: H.J. L. <hon...@in...> - 2012-02-03 18:44:57
|
Hi, When HAVE_LONG_LONG_OFF_T is defined, those old stat functions aren't used and strace won't link since they use realprintstat which isn't defined when HAVE_LONG_LONG_OFF_T is defined. H.J. --- 2012-02-02 H.J. Lu <hon...@in...> * file.c (convertoldstat): Define only if HAVE_LONG_LONG_OFF_T isn't defined. (sys_oldstat): Likewise. (sys_oldfstat): Likewise. (sys_oldlstat): Likewise. diff --git a/file.c b/file.c index 87e0743..db024ef 100644 --- a/file.c +++ b/file.c @@ -1229,7 +1229,8 @@ printstat64(struct tcb *tcp, long addr) } #endif /* HAVE_STAT64 */ -#if defined(LINUX) && defined(HAVE_STRUCT___OLD_KERNEL_STAT) +#if defined(LINUX) && defined(HAVE_STRUCT___OLD_KERNEL_STAT) \ + && !defined(HAVE_LONG_LONG_OFF_T) static void convertoldstat(const struct __old_kernel_stat *oldbuf, struct stat *newbuf) { @@ -1346,7 +1347,8 @@ sys_newfstatat(struct tcb *tcp) } #endif -#if defined(LINUX) && defined(HAVE_STRUCT___OLD_KERNEL_STAT) +#if defined(LINUX) && defined(HAVE_STRUCT___OLD_KERNEL_STAT) \ + && !defined(HAVE_LONG_LONG_OFF_T) int sys_oldstat(struct tcb *tcp) { @@ -1390,7 +1392,8 @@ sys_fstat64(struct tcb *tcp) #endif } -#if defined(LINUX) && defined(HAVE_STRUCT___OLD_KERNEL_STAT) +#if defined(LINUX) && defined(HAVE_STRUCT___OLD_KERNEL_STAT) \ + && !defined(HAVE_LONG_LONG_OFF_T) int sys_oldfstat(struct tcb *tcp) { @@ -1434,7 +1437,8 @@ sys_lstat64(struct tcb *tcp) #endif } -#if defined(LINUX) && defined(HAVE_STRUCT___OLD_KERNEL_STAT) +#if defined(LINUX) && defined(HAVE_STRUCT___OLD_KERNEL_STAT) \ + && !defined(HAVE_LONG_LONG_OFF_T) int sys_oldlstat(struct tcb *tcp) { -- 1.7.6.5 |
From: Dmitry V. L. <ld...@al...> - 2012-02-06 15:08:08
|
Hi, On Fri, Feb 03, 2012 at 10:10:30AM -0800, H.J. Lu wrote: > Hi, > > When HAVE_LONG_LONG_OFF_T is defined, those old stat functions aren't used > and strace won't link since they use realprintstat which isn't defined > when HAVE_LONG_LONG_OFF_T is defined. Thanks, applied. -- ldv |