changeset 5930:a0d9bfe304de cygwin

more 64-bit patches for VS, not sure of many of them
author Henry Thompson <ht@markup.co.uk>
date Wed, 09 Dec 2015 10:35:23 +0000
parents f5dfcf2323bc
children 8955a38b8ecb
files notes.txt src/process-nt.c src/s/windowsnt.h src/systime.h src/syswindows.h
diffstat 5 files changed, 31 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/notes.txt	Tue Dec 08 09:05:19 2015 +0000
+++ b/notes.txt	Wed Dec 09 10:35:23 2015 +0000
@@ -327,3 +327,16 @@
 already.
 Compilation produces _lots_ of warnings about type/size conversions,
 slowly figuring out fixes, possible not all correct :-(
+Some further forward and back hacking wrt timeval and tv_sec, finally
+had to actually edit /c/Program Files (x86)/Windows
+Kits/8.1/Include/um/winsock.h to get things moving :-(
+
+Lots of EMACS_INT (long long) == 8-bytes -> int or long == 4-bytes
+warnings, whose equivalent (long (8) -> int (4)) are _not_ notified by
+Cygwin, are coming up, sort-of overpowering the compiler output, so
+fttb I've set ERROR_CHECK_ALL=0 in config.inc, which turned off -TP
+(CPP, which I thought was raising the warnings), but still getting many
+warnings: down from 567 to 423!
+More small fixes, in process-nt.c very speculative, get me to through
+compilation to (lots of) linking errors
+
--- a/src/process-nt.c	Tue Dec 08 09:05:19 2015 +0000
+++ b/src/process-nt.c	Wed Dec 09 10:35:23 2015 +0000
@@ -170,6 +170,8 @@
 				     (LPDWORD)context.Esp - 1,
 #elif defined (_ALPHA_)
 				     (LPDWORD)context.IntSp - 1,
+#elif defined (_AMD64_)
+				     (LPDWORD)context.Rsp - 1, /* HST guessing */
 #else
 #error Unknown processor architecture
 #endif
--- a/src/s/windowsnt.h	Tue Dec 08 09:05:19 2015 +0000
+++ b/src/s/windowsnt.h	Wed Dec 09 10:35:23 2015 +0000
@@ -106,9 +106,11 @@
 #define SIZEOF_VOID_P 8
 #define SIZEOF_DOUBLE 8
 #define SIZEOF_OFF_T 8
+typedef __int64 ssize_t;
 #else
 #define SIZEOF_LONG_LONG 0
 #define SIZEOF_VOID_P 4
+typedef int ssize_t;
 #endif
 
 typedef int mode_t;
@@ -116,7 +118,6 @@
 typedef int uid_t;
 typedef int gid_t;
 typedef int pid_t;
-typedef int ssize_t;
 
 /* If your system uses COFF (Common Object File Format) then define the
    preprocessor symbol "COFF". */
--- a/src/systime.h	Tue Dec 08 09:05:19 2015 +0000
+++ b/src/systime.h	Wed Dec 09 10:35:23 2015 +0000
@@ -48,6 +48,18 @@
 #ifdef WIN32_NATIVE
 
 /* This defines struct timeval */
+/* Temporary override -- HST
+#define _TIMEVAL_DEFINED
+
+struct timeval
+{
+        time_t tv_sec;
+        time_t tv_usec;
+};
+#ifndef _INC_WINDOWS
+#include <windows.h>
+#endif / * _INC_WINDOWS * /
+typedef UINT_PTR        SOCKET; */
 #include <winsock.h>
 
 struct timezone 
--- a/src/syswindows.h	Tue Dec 08 09:05:19 2015 +0000
+++ b/src/syswindows.h	Wed Dec 09 10:35:23 2015 +0000
@@ -612,8 +612,8 @@
 
 typedef ITEMIDLIST ITEMIDLIST_ABSOLUTE;
 
-typedef ITEMIDLIST_ABSOLUTE *PIDLIST_ABSOLUTE;
-typedef const ITEMIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE;
+/*typedef ITEMIDLIST_ABSOLUTE *PIDLIST_ABSOLUTE;
+  typedef const ITEMIDLIST_ABSOLUTE *PCIDLIST_ABSOLUTE; is this overkill? HST*/
 
 /* Defined in w32api/winuser.h */
 #define GCLP_MENUNAME (-8)