include: Specify explicit alignment for __int64 types.
diff --git a/include/msvcrt/crtdefs.h b/include/msvcrt/crtdefs.h
index 2a101a9..61116e9 100644
--- a/include/msvcrt/crtdefs.h
+++ b/include/msvcrt/crtdefs.h
@@ -80,6 +80,16 @@
 # endif
 #endif
 
+#ifndef DECLSPEC_ALIGN
+# if defined(_MSC_VER) && (_MSC_VER >= 1300) && !defined(MIDL_PASS)
+#  define DECLSPEC_ALIGN(x) __declspec(align(x))
+# elif defined(__GNUC__)
+#  define DECLSPEC_ALIGN(x) __attribute__((aligned(x)))
+# else
+#  define DECLSPEC_ALIGN(x)
+# endif
+#endif
+
 #ifndef _MSVCRT_LONG_DEFINED
 #define _MSVCRT_LONG_DEFINED
 /* we need 32-bit longs even on 64-bit */
@@ -129,7 +139,7 @@
 #endif
 
 #ifndef _TIME64_T_DEFINED
-typedef __int64 __time64_t;
+typedef __int64 DECLSPEC_ALIGN(8) __time64_t;
 #define _TIME64_T_DEFINED
 #endif
 
diff --git a/include/msvcrt/io.h b/include/msvcrt/io.h
index e15dff1..c7ba9ab 100644
--- a/include/msvcrt/io.h
+++ b/include/msvcrt/io.h
@@ -44,7 +44,7 @@
   time_t time_create;
   time_t time_access;
   time_t time_write;
-  __int64        size;
+  __int64 DECLSPEC_ALIGN(8) size;
   char           name[260];
 };
 #endif /* _FINDDATA_T_DEFINED */
@@ -65,7 +65,7 @@
   time_t  time_create;
   time_t  time_access;
   time_t  time_write;
-  __int64         size;
+  __int64 DECLSPEC_ALIGN(8) size;
   wchar_t name[260];
 };
 #endif /* _WFINDDATA_T_DEFINED */
diff --git a/include/msvcrt/stdio.h b/include/msvcrt/stdio.h
index 1b3872c..b309ebb 100644
--- a/include/msvcrt/stdio.h
+++ b/include/msvcrt/stdio.h
@@ -72,7 +72,7 @@
 #endif  /* _FILE_DEFINED */
 
 #ifndef _FPOS_T_DEFINED
-typedef __int64 fpos_t;
+typedef __int64 DECLSPEC_ALIGN(8) fpos_t;
 #define _FPOS_T_DEFINED
 #endif
 
diff --git a/include/msvcrt/wchar.h b/include/msvcrt/wchar.h
index fe76166..66d3a81 100644
--- a/include/msvcrt/wchar.h
+++ b/include/msvcrt/wchar.h
@@ -111,7 +111,7 @@
   time_t time_create;
   time_t time_access;
   time_t time_write;
-  __int64        size;
+  __int64 DECLSPEC_ALIGN(8) size;
   wchar_t name[260];
 };
 
diff --git a/include/ws2def.h b/include/ws2def.h
index f2f7223..585647b 100644
--- a/include/ws2def.h
+++ b/include/ws2def.h
@@ -58,7 +58,7 @@
 typedef struct WS(sockaddr_storage) {
         short ss_family;
         char __ss_pad1[WS(_SS_PAD1SIZE)];
-        __int64 __ss_align;
+        __int64 DECLSPEC_ALIGN(8) __ss_align;
         char __ss_pad2[WS(_SS_PAD2SIZE)];
 } SOCKADDR_STORAGE, *PSOCKADDR_STORAGE, *LPSOCKADDR_STORAGE;