The newfstatat testcase on mips64 currently fails because:
- The BOGUS_STRUCT_STAT test segfaults inside glibc.
- The result of the fstatat call gives incorrect dates because the
  kernel struct stat uses unsigned int timestamps.

Fix by using avoiding the glibc wrapper and using the relevant syscall
directly. This obviously avoids the first problem, and avoids the second
problem because print_stat always sign extends dates (unlike glibc which
will zero extend them).
---
 tests/fstatat.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/fstatat.c b/tests/fstatat.c
index ec55ca04..3981b4ec 100644
--- a/tests/fstatat.c
+++ b/tests/fstatat.c
@@ -28,7 +28,7 @@
 #ifdef HAVE_FSTATAT
 
 # define TEST_SYSCALL_INVOKE(sample, pst) \
-       fstatat(AT_FDCWD, sample, pst, AT_SYMLINK_NOFOLLOW)
+       syscall(TEST_SYSCALL_NR, AT_FDCWD, sample, pst, AT_SYMLINK_NOFOLLOW)
 # define PRINT_SYSCALL_HEADER(sample) \
        do { \
                int saved_errno = errno; \
@@ -38,6 +38,8 @@
                printf(", AT_SYMLINK_NOFOLLOW) = %s\n", sprintrc(rc)); \
        } while (0)
 
+# define USE_ASM_STAT
+
 # include "xstatx.c"
 
 #else
-- 
2.11.0


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to