[klibc] arm64: Fix struct stat

Use actual struct timespec fields in struct stat, and use the proper
__stdev64 macro for the dev_t fields.

Also fix bizarre formatting.

Cc: Neil Williams <codehelp@debian.org>
Cc: Anil Singhar <anil.singhar@linaro.org>
Cc: Steve Capper <steve.capper@linaro.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
diff --git a/usr/include/arch/arm64/klibc/archstat.h b/usr/include/arch/arm64/klibc/archstat.h
index a1a3e79..f5bfa80 100644
--- a/usr/include/arch/arm64/klibc/archstat.h
+++ b/usr/include/arch/arm64/klibc/archstat.h
@@ -3,27 +3,26 @@
 
 #include <klibc/stathelp.h>
 
+#define _STATBUF_ST_NSEC
+
 struct stat {
-          unsigned long   st_dev;         /* Device.  */
-          unsigned long   st_ino;         /* File serial number.  */
-          unsigned int    st_mode;        /* File mode.  */
-          unsigned int    st_nlink;       /* Link count.  */
-          unsigned int    st_uid;         /* User ID of the file's owner.  */
-          unsigned int    st_gid;         /* Group ID of the file's group. */
-          unsigned long   st_rdev;        /* Device number, if device.  */
-          unsigned long   __pad1;
-          long            st_size;        /* Size of file, in bytes.  */
-          int             st_blksize;     /* Optimal block size for I/O.  */
-          int             __pad2;
-          long            st_blocks;      /* Number 512-byte blocks allocated. */
-          long            st_atime;       /* Time of last access.  */
-          unsigned long   st_atime_nsec;
-          long            st_mtime;       /* Time of last modification.  */
-          unsigned long   st_mtime_nsec;
-          long            st_ctime;       /* Time of last status change.  */
-          unsigned long   st_ctime_nsec;
-          unsigned int    __unused4;
-          unsigned int    __unused5;
-  };
+	__stdev64	(st_dev);	/* Device */
+	unsigned long	st_ino;		/* File serial number */
+	unsigned int	st_mode;	/* File mode */
+	unsigned int	st_nlink;	/* Link count */
+	unsigned int	st_uid;		/* User ID of the file's owner */
+	unsigned int	st_gid;		/* Group ID of the file's group */
+	__stdev64	(st_rdev);	/* Device number, if device */
+	unsigned long	__pad1;
+	long		st_size;	/* Size of file, in bytes */
+	int		st_blksize;	/* Optimal block size for I/O */
+	int		__pad2;
+	long		st_blocks;	/* Number 512-byte blocks allocated */
+	struct timespec st_atim;	/* Time of last access */
+	struct timespec st_mtim;	/* Time of last modification */
+	struct timespec st_ctim;	/* Time of last status change */
+	unsigned int	__unused4;
+	unsigned int	__unused5;
+};
 
 #endif