This file is part of MXE. See index.html for further information. From 147c86d57e45bc3d4cafddbde00c447ea4610c47 Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Mon, 3 Jun 2013 11:24:12 +0200 Subject: [PATCH 1/2] avoid accidental inclusion of old winsock.h taken from http://permalink.gmane.org/gmane.comp.encryption.gpg.libgcrypt.devel/2834 /src/gcrypt.h.in:# include implicitly includes windows.h. Avoid including windows.h explicitly before winsock2.h, to avoid implicit inclusion of conflicting winsock.h from windows.h. diff --git a/random/rndw32.c b/random/rndw32.c index f8a83b6..d6c8e34 100644 --- a/random/rndw32.c +++ b/random/rndw32.c @@ -78,7 +78,6 @@ #include #endif -#include #include "types.h" diff --git a/src/ath.h b/src/ath.h index 8769551..1d6be15 100644 --- a/src/ath.h +++ b/src/ath.h @@ -24,7 +24,6 @@ #include #ifdef _WIN32 -# include #else /* !_WIN32 */ # ifdef HAVE_SYS_SELECT_H # include diff --git a/tests/benchmark.c b/tests/benchmark.c index 106e01b..d7a6188 100644 --- a/tests/benchmark.c +++ b/tests/benchmark.c @@ -25,7 +25,6 @@ #include #include #ifdef _WIN32 -#include #else #include #endif -- 1.8.4.5 From 446a9c19d4c307e319a08633c08b2f62e69230fa Mon Sep 17 00:00:00 2001 From: Tony Theodore Date: Fri, 7 Feb 2014 21:22:10 +0100 Subject: [PATCH 2/2] mingw-w64 compatibility diff --git a/mpi/generic/mpi-asm-defs.h b/mpi/generic/mpi-asm-defs.h index 13424e2..74a7501 100644 --- a/mpi/generic/mpi-asm-defs.h +++ b/mpi/generic/mpi-asm-defs.h @@ -1,8 +1,11 @@ /* This file defines some basic constants for the MPI machinery. We * need to define the types on a per-CPU basis, so it is done with * this file here. */ +#ifdef _WIN64 +#define BYTES_PER_MPI_LIMB (SIZEOF_UNSIGNED_LONG_LONG) +#else #define BYTES_PER_MPI_LIMB (SIZEOF_UNSIGNED_LONG) - +#endif diff --git a/mpi/mpi-internal.h b/mpi/mpi-internal.h index e75b7c6..a0f45e4 100644 --- a/mpi/mpi-internal.h +++ b/mpi/mpi-internal.h @@ -168,6 +168,12 @@ typedef int mpi_size_t; /* (must be a signed type) */ } while (0) +#ifdef _WIN64 +#define ATTR_ABI __attribute__ ((sysv_abi)) +#else +#define ATTR_ABI +#endif + /*-- mpiutil.c --*/ #define mpi_alloc_limb_space(n,f) _gcry_mpi_alloc_limb_space((n),(f)) mpi_ptr_t _gcry_mpi_alloc_limb_space( unsigned nlimbs, int sec ); @@ -186,7 +192,7 @@ void _gcry_mpi_lshift_limbs( gcry_mpi_t a, unsigned int count ); mpi_limb_t _gcry_mpih_add_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, mpi_limb_t s2_limb ); mpi_limb_t _gcry_mpih_add_n( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, - mpi_ptr_t s2_ptr, mpi_size_t size); + mpi_ptr_t s2_ptr, mpi_size_t size) ATTR_ABI; mpi_limb_t _gcry_mpih_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, mpi_ptr_t s2_ptr, mpi_size_t s2_size); @@ -194,7 +200,7 @@ mpi_limb_t _gcry_mpih_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_siz mpi_limb_t _gcry_mpih_sub_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, mpi_limb_t s2_limb ); mpi_limb_t _gcry_mpih_sub_n( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, - mpi_ptr_t s2_ptr, mpi_size_t size); + mpi_ptr_t s2_ptr, mpi_size_t size) ATTR_ABI; mpi_limb_t _gcry_mpih_sub(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, mpi_ptr_t s2_ptr, mpi_size_t s2_size); @@ -216,9 +222,9 @@ struct karatsuba_ctx { void _gcry_mpih_release_karatsuba_ctx( struct karatsuba_ctx *ctx ); mpi_limb_t _gcry_mpih_addmul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, - mpi_size_t s1_size, mpi_limb_t s2_limb); + mpi_size_t s1_size, mpi_limb_t s2_limb) ATTR_ABI; mpi_limb_t _gcry_mpih_submul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, - mpi_size_t s1_size, mpi_limb_t s2_limb); + mpi_size_t s1_size, mpi_limb_t s2_limb) ATTR_ABI; void _gcry_mpih_mul_n( mpi_ptr_t prodp, mpi_ptr_t up, mpi_ptr_t vp, mpi_size_t size); mpi_limb_t _gcry_mpih_mul( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t usize, @@ -235,7 +241,7 @@ void _gcry_mpih_mul_karatsuba_case( mpi_ptr_t prodp, /*-- mpih-mul_1.c (or xxx/cpu/ *.S) --*/ mpi_limb_t _gcry_mpih_mul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, - mpi_size_t s1_size, mpi_limb_t s2_limb); + mpi_size_t s1_size, mpi_limb_t s2_limb) ATTR_ABI; /*-- mpih-div.c --*/ mpi_limb_t _gcry_mpih_mod_1(mpi_ptr_t dividend_ptr, mpi_size_t dividend_size, @@ -249,9 +255,9 @@ mpi_limb_t _gcry_mpih_divmod_1( mpi_ptr_t quot_ptr, /*-- mpih-shift.c --*/ mpi_limb_t _gcry_mpih_lshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize, - unsigned cnt); + unsigned cnt) ATTR_ABI; mpi_limb_t _gcry_mpih_rshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize, - unsigned cnt); + unsigned cnt) ATTR_ABI; /* Define stuff for longlong.h. */ diff --git a/random/rndw32.c b/random/rndw32.c index d6c8e34..b3e34f9 100644 --- a/random/rndw32.c +++ b/random/rndw32.c @@ -886,7 +886,7 @@ _gcry_rndw32_gather_random_fast (void (*add)(const void*, size_t, { HANDLE handle; FILETIME creationTime, exitTime, kernelTime, userTime; - DWORD minimumWorkingSetSize, maximumWorkingSetSize; + SIZE_T minimumWorkingSetSize, maximumWorkingSetSize; handle = GetCurrentThread (); GetThreadTimes (handle, &creationTime, &exitTime, diff --git a/src/libgcrypt.def b/src/libgcrypt.def index 031b941..2f440c7 100644 --- a/src/libgcrypt.def +++ b/src/libgcrypt.def @@ -1,3 +1,4 @@ +EXPORTS ;; libgcrypt.defs - Exported symbols for W32 ;; Copyright (C) 2003, 2007 Free Software Foundation, Inc. ;; @@ -22,7 +23,6 @@ ;; never be changed. Also check libgcrypt.vers and visibility.h. -EXPORTS gcry_check_version @1 gcry_control @2 -- 1.8.4.5