Mercurial > mxe-octave
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 |