comparison src/mingw-libgcrypt-1-fixes.patch @ 4313:3d768e8ec06a

gnupg: update packages * src/libgcrypt.mk: update version, checksum 1.7.5 * src/libgpg_error.mk: update version, checksum 1.26 * src/mingw-libgcrypt-1-fixes.patch: update patch from mxe.cc
author John D
date Wed, 04 Jan 2017 08:32:17 -0500
parents 0023c034ec4a
children 3f3beb75a336
comparison
equal deleted inserted replaced
4312:5f24a9910a14 4313:3d768e8ec06a
1 From http://lists.freedesktop.org/archives/gstreamer-commits/2014-February/077094.html 1 This file is part of MXE. See LICENSE.md for licensing information.
2 2
3 diff -ur libgcrypt-1.6.1.orig/random/rndhw.c libgcrypt-1.6.1/random/rndhw.c 3 Contains ad hoc patches for cross building.
4 --- libgcrypt-1.6.1.orig/random/rndhw.c 2014-08-16 22:16:09.991066266 -0400 4
5 +++ libgcrypt-1.6.1/random/rndhw.c 2014-08-16 22:19:19.025936274 -0400 5 From 6e118d36f8c15474065fe357446cf288cdc1e179 Mon Sep 17 00:00:00 2001
6 @@ -69,7 +69,7 @@ 6 From: Tony Theodore <tonyt@logyst.com>
7 nbytes = 0; 7 Date: Thu, 4 Dec 2014 15:07:43 +1100
8 while (nbytes < 64) 8 Subject: [PATCH 1/3] fix for mingw cross building
9 { 9
10 -#if defined(__x86_64__) && defined(__LP64__) 10 Taken from:
11 +#if defined(__x86_64__) // && defined(__LP64__) 11 https://aur.archlinux.org/packages/mingw-w64-libgcrypt/
12 asm volatile 12
13 ("movq %1, %%rdi\n\t" /* Set buffer. */ 13 diff --git a/acinclude.m4 b/acinclude.m4
14 "xorq %%rdx, %%rdx\n\t" /* Request up to 8 bytes. */ 14 index 96be833..9e14e12 100644
15 @@ -123,7 +123,7 @@ 15 --- a/acinclude.m4
16 #ifdef USE_DRNG 16 +++ b/acinclude.m4
17 # define RDRAND_RETRY_LOOPS 10 17 @@ -102,7 +102,9 @@ AC_DEFUN([GNUPG_SYS_SYMBOL_UNDERSCORE],
18 # define RDRAND_INT ".byte 0x0f,0xc7,0xf0" 18 [tmp_do_check="no"
19 -# if defined(__x86_64__) && defined(__LP64__) 19 case "${host}" in
20 +# if defined(__x86_64__) //&& defined(__LP64__) 20 i?86-mingw32* | i?86-*-mingw32*)
21 # define RDRAND_LONG ".byte 0x48,0x0f,0xc7,0xf0" 21 - ac_cv_sys_symbol_underscore=yes
22 # else 22 + if test "x$ac_cv_sys_symbol_underscore" = x ; then
23 # define RDRAND_LONG RDRAND_INT 23 + ac_cv_sys_symbol_underscore=yes
24 + fi
25 ;;
26 x86_64-*-mingw32*)
27 ac_cv_sys_symbol_underscore=no
28 diff --git a/mpi/generic/mpi-asm-defs.h b/mpi/generic/mpi-asm-defs.h
29 index e607806..4c57111 100644
30 --- a/mpi/generic/mpi-asm-defs.h
31 +++ b/mpi/generic/mpi-asm-defs.h
32 @@ -4,5 +4,9 @@
33 #if __GNUC__ >= 3 && defined(__x86_64__) && defined(__ILP32__)
34 #define BYTES_PER_MPI_LIMB 8
35 #else
36 +#ifdef _WIN64
37 +#define BYTES_PER_MPI_LIMB (SIZEOF_UNSIGNED_LONG_LONG)
38 +#else
39 #define BYTES_PER_MPI_LIMB (SIZEOF_UNSIGNED_LONG)
40 #endif
41 +#endif
42 diff --git a/mpi/mpi-internal.h b/mpi/mpi-internal.h
43 index 898ca47..afd1a1f 100644
44 --- a/mpi/mpi-internal.h
45 +++ b/mpi/mpi-internal.h
46 @@ -169,6 +169,12 @@ typedef int mpi_size_t; /* (must be a signed type) */
47 } while (0)
48
49
50 +#ifdef _WIN64
51 +#define ATTR_ABI __attribute__ ((sysv_abi))
52 +#else
53 +#define ATTR_ABI
54 +#endif
55 +
56 /*-- mpiutil.c --*/
57 #define mpi_alloc_limb_space(n,f) _gcry_mpi_alloc_limb_space((n),(f))
58 mpi_ptr_t _gcry_mpi_alloc_limb_space( unsigned nlimbs, int sec );
59 @@ -187,7 +193,7 @@ void _gcry_mpi_lshift_limbs( gcry_mpi_t a, unsigned int count );
60 mpi_limb_t _gcry_mpih_add_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
61 mpi_size_t s1_size, mpi_limb_t s2_limb );
62 mpi_limb_t _gcry_mpih_add_n( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
63 - mpi_ptr_t s2_ptr, mpi_size_t size);
64 + mpi_ptr_t s2_ptr, mpi_size_t size) ATTR_ABI;
65 mpi_limb_t _gcry_mpih_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size,
66 mpi_ptr_t s2_ptr, mpi_size_t s2_size);
67
68 @@ -195,7 +201,7 @@ mpi_limb_t _gcry_mpih_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_siz
69 mpi_limb_t _gcry_mpih_sub_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
70 mpi_size_t s1_size, mpi_limb_t s2_limb );
71 mpi_limb_t _gcry_mpih_sub_n( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
72 - mpi_ptr_t s2_ptr, mpi_size_t size);
73 + mpi_ptr_t s2_ptr, mpi_size_t size) ATTR_ABI;
74 mpi_limb_t _gcry_mpih_sub(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size,
75 mpi_ptr_t s2_ptr, mpi_size_t s2_size);
76
77 @@ -217,9 +223,9 @@ struct karatsuba_ctx {
78 void _gcry_mpih_release_karatsuba_ctx( struct karatsuba_ctx *ctx );
79
80 mpi_limb_t _gcry_mpih_addmul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
81 - mpi_size_t s1_size, mpi_limb_t s2_limb);
82 + mpi_size_t s1_size, mpi_limb_t s2_limb) ATTR_ABI;
83 mpi_limb_t _gcry_mpih_submul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
84 - mpi_size_t s1_size, mpi_limb_t s2_limb);
85 + mpi_size_t s1_size, mpi_limb_t s2_limb) ATTR_ABI;
86 void _gcry_mpih_mul_n( mpi_ptr_t prodp, mpi_ptr_t up, mpi_ptr_t vp,
87 mpi_size_t size);
88 mpi_limb_t _gcry_mpih_mul( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t usize,
89 @@ -236,7 +242,7 @@ void _gcry_mpih_mul_karatsuba_case( mpi_ptr_t prodp,
90
91 /*-- mpih-mul_1.c (or xxx/cpu/ *.S) --*/
92 mpi_limb_t _gcry_mpih_mul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
93 - mpi_size_t s1_size, mpi_limb_t s2_limb);
94 + mpi_size_t s1_size, mpi_limb_t s2_limb) ATTR_ABI;
95
96 /*-- mpih-div.c --*/
97 mpi_limb_t _gcry_mpih_mod_1(mpi_ptr_t dividend_ptr, mpi_size_t dividend_size,
98 @@ -250,9 +256,9 @@ mpi_limb_t _gcry_mpih_divmod_1( mpi_ptr_t quot_ptr,
99
100 /*-- mpih-shift.c --*/
101 mpi_limb_t _gcry_mpih_lshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize,
102 - unsigned cnt);
103 + unsigned cnt) ATTR_ABI;
104 mpi_limb_t _gcry_mpih_rshift( mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize,
105 - unsigned cnt);
106 + unsigned cnt) ATTR_ABI;
107
108
109 /* Define stuff for longlong.h. */
110 diff --git a/src/libgcrypt.def b/src/libgcrypt.def
111 index 067cb84..df71bba 100644
112 --- a/src/libgcrypt.def
113 +++ b/src/libgcrypt.def
114 @@ -1,3 +1,4 @@
115 +EXPORTS
116 ;; libgcrypt.defs - Exported symbols for W32
117 ;; Copyright (C) 2003, 2007 Free Software Foundation, Inc.
118 ;;
119 @@ -22,7 +23,6 @@
120 ;; never be changed. Also check libgcrypt.vers and visibility.h.
121
122
123 -EXPORTS
124 gcry_check_version @1
125 gcry_control @2
126
127 --
128 2.7.4
129
130
131 From 9ff9c0ae66b9f51decfda8dffa2024d8dbaa9fe6 Mon Sep 17 00:00:00 2001
132 From: Saikrishna Arcot <saiarcot895@gmail.com>
133 Date: Fri, 12 Jun 2015 14:53:55 -0700
134 Subject: [PATCH 2/3] Don't call git to determine the revision.
135
136
137 diff --git a/configure.ac b/configure.ac
138 index f683e21..d43c012 100644
139 --- a/configure.ac
140 +++ b/configure.ac
141 @@ -38,13 +38,10 @@ m4_define(mym4_version_micro, [0])
142 # processing is done by autoconf and not during the configure run.
143 m4_define(mym4_version,
144 [mym4_version_major.mym4_version_minor.mym4_version_micro])
145 -m4_define([mym4_revision],
146 - m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r']))
147 +m4_define([mym4_revision], [4091])
148 m4_define([mym4_revision_dec],
149 m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))]))
150 -m4_define([mym4_betastring],
151 - m4_esyscmd_s([git describe --match 'libgcrypt-[0-9].*[0-9]' --long|\
152 - awk -F- '$3!=0{print"-beta"$3}']))
153 +m4_define([mym4_betastring], [])
154 m4_define([mym4_isgit],m4_if(mym4_betastring,[],[no],[yes]))
155 m4_define([mym4_full_version],[mym4_version[]mym4_betastring])
156
157 --
158 2.7.4
159
160
161 From 7a22846e84ca5047b2f5cae7eb12ccab53c03026 Mon Sep 17 00:00:00 2001
162 From: "Richard W.M. Jones" <rjones@redhat.com>
163 Date: Sun, 28 Jun 2015 17:17:25 +0200
164 Subject: [PATCH 3/3] configure.ac: no serial-tests if automake < 1.12
165
166 Earlier versions of automake complain if they get a configuration
167 parameter which they don't understand. The error is:
168
169 configure.ac:27: error: option 'serial-tests' not recognized
170
171 Use some m4 hackery to work around this.
172
173 Fix libgcrypt build under x86_64
174 See https://www.redhat.com/archives/libguestfs/2013-February/msg00102.html
175
176 diff --git a/configure.ac b/configure.ac
177 index d43c012..b6f20ae 100644
178 --- a/configure.ac
179 +++ b/configure.ac
180 @@ -71,7 +71,24 @@ VERSION=$PACKAGE_VERSION
181
182 AC_CONFIG_AUX_DIR([build-aux])
183 AC_CONFIG_SRCDIR([src/libgcrypt.vers])
184 -AM_INIT_AUTOMAKE([serial-tests dist-bzip2])
185 +
186 +dnl Initialize automake. automake < 1.12 didn't have serial-tests and
187 +dnl gives an error if it sees this, but for automake >= 1.13
188 +dnl serial-tests is required so we have to include it. Solution is to
189 +dnl test for the version of automake (by running an external command)
190 +dnl and provide it if necessary. Note we have to do this entirely using
191 +dnl m4 macros since automake queries this macro by running
192 +dnl 'autoconf --trace ...'.
193 +m4_define([serial_tests], [
194 + m4_esyscmd([automake --version |
195 + head -1 |
196 + awk '{split ($NF,a,"."); if (a[1] == 1 && a[2] >= 12) { '\
197 + 'print "serial-tests" }}'
198 + ])
199 +])
200 +dnl NB: Do not [quote] this parameter.
201 +AM_INIT_AUTOMAKE(serial_tests dist-bzip2)
202 +
203 AC_CONFIG_HEADER(config.h)
204 AC_CONFIG_MACRO_DIR([m4])
205 AC_CONFIG_LIBOBJ_DIR([compat])
206 --
207 2.7.4
208