tests: skip stat32 test if struct stat is defined incorrectly
If stat.st_mode returned by syscall is 0, it means that the definition
of struct stat in <asm/stat.h> is incorrect. This is the case e.g. on
mips n32 where the only available stat syscall is 64-bit but at the same
time struct stat defined by <asm/stat.h> is 32-bit.
* tests/stat.c (main) [NR_stat]: Return 77 if st_mode is 0.
diff --git a/tests/stat.c b/tests/stat.c
index 2b04010..0dbbb72 100644
--- a/tests/stat.c
+++ b/tests/stat.c
@@ -111,6 +111,8 @@
if (sizeof(stb.st_size) > 4)
return 77;
assert(syscall(NR_stat, av[1], &stb) == 0);
+ if (!stb.st_mode)
+ return 77;
#else
assert(stat(av[1], &stb) == 0);
#endif