From b80894cf07bb14f15d666333d195a05bbf944a52 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Tue, 30 Aug 2016 12:43:09 +0000 Subject: [PATCH] tests: use correct m32/mx32 st_mtime_nsec checks in tests/xstatx.c * bootstrap: Add -DMPERS_IS_$(MPERS_NAME) to ARCH_MFLAGS. * tests/xstatx.c [USE_ASM_STAT && STRUCT_STAT_IS_STAT64 && MPERS_IS_m32]: Redefine HAVE_STRUCT_STAT_ST_MTIME_NSEC to HAVE_M32_STRUCT_STAT64_ST_MTIME_NSEC. [USE_ASM_STAT && STRUCT_STAT_IS_STAT64 && MPERS_IS_mx32]: Redefine HAVE_STRUCT_STAT_ST_MTIME_NSEC to HAVE_MX32_STRUCT_STAT64_ST_MTIME_NSEC. [USE_ASM_STAT && !STRUCT_STAT_IS_STAT64 && MPERS_IS_m32]: Redefine HAVE_STRUCT_STAT_ST_MTIME_NSEC to HAVE_M32_STRUCT_STAT_ST_MTIME_NSEC. [USE_ASM_STAT && !STRUCT_STAT_IS_STAT64 && MPERS_IS_mx32]: Redefine HAVE_STRUCT_STAT_ST_MTIME_NSEC to HAVE_MX32_STRUCT_STAT_ST_MTIME_NSEC. Based on patch by James Clarke . --- bootstrap | 4 +++- tests/xstatx.c | 26 +++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/bootstrap b/bootstrap index 395fc80e..f7ef6f71 100755 --- a/bootstrap +++ b/bootstrap @@ -5,7 +5,9 @@ for m in m32 mx32; do rm -rf $tests mkdir $tests s='[[:space:]]*' - sed "s/@arch@/@arch_$m@/;s/^MPERS_NAME$s=.*/& $m/;s/^ARCH_MFLAGS$s=.*/& -$m/" \ + sed "s/@arch@/@arch_$m@/; + s/^MPERS_NAME$s=.*/& $m/; + s/^ARCH_MFLAGS$s=.*/& -DMPERS_IS_\$(MPERS_NAME) -$m/" \ tests/Makefile.am > $tests/Makefile.am for f in tests/*; do case "${f##*/}" in diff --git a/tests/xstatx.c b/tests/xstatx.c index 359ee1db..132b7fb6 100644 --- a/tests/xstatx.c +++ b/tests/xstatx.c @@ -91,10 +91,34 @@ typedef off_t libc_off_t; # undef st_mtime # undef st_ctime # include "asm_stat.h" + # if STRUCT_STAT_IS_STAT64 # undef HAVE_STRUCT_STAT_ST_MTIME_NSEC -# define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1 +# if defined MPERS_IS_m32 +# ifdef HAVE_M32_STRUCT_STAT64_ST_MTIME_NSEC +# define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1 +# endif +# elif defined MPERS_IS_mx32 +# ifdef HAVE_MX32_STRUCT_STAT64_ST_MTIME_NSEC +# define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1 +# endif +# elif defined HAVE_STRUCT_STAT64_ST_MTIME_NSEC +# define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1 +# endif /* MPERS_IS_m32 || MPERS_IS_mx32 || HAVE_STRUCT_STAT64_ST_MTIME_NSEC */ +# else /* !STRUCT_STAT_IS_STAT64 */ +# if defined MPERS_IS_m32 +# undef HAVE_STRUCT_STAT_ST_MTIME_NSEC +# ifdef HAVE_M32_STRUCT_STAT_ST_MTIME_NSEC +# define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1 +# endif +# elif defined MPERS_IS_mx32 +# undef HAVE_STRUCT_STAT_ST_MTIME_NSEC +# ifdef HAVE_MX32_STRUCT_STAT_ST_MTIME_NSEC +# define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1 +# endif +# endif /* MPERS_IS_m32 || MPERS_IS_mx32 */ # endif /* STRUCT_STAT_IS_STAT64 */ + # else /* !USE_ASM_STAT */ # undef HAVE_STRUCT_STAT_ST_MTIME_NSEC # ifdef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC -- 2.40.0