Gentoo Archives: gentoo-commits

From: Alon Bar-Lev <alonbl@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/crypto++/, dev-libs/crypto++/files/
Date: Wed, 03 Jul 2019 18:59:36
Message-Id: 1562180338.ac1362559f5f84d43e121b0899927e8b9a15b741.alonbl@gentoo
1 commit: ac1362559f5f84d43e121b0899927e8b9a15b741
2 Author: Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jul 3 18:58:19 2019 +0000
4 Commit: Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
5 CommitDate: Wed Jul 3 18:58:58 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac136255
7
8 dev-libs/crypto++: fix amd64 asm
9
10 Closes: https://bugs.gentoo.org/show_bug.cgi?id=689162
11 Signed-off-by: Alon Bar-Lev <alonbl <AT> gentoo.org>
12 Package-Manager: Portage-2.3.66, Repoman-2.3.11
13
14 ...++-8.2.0-r1.ebuild => crypto++-8.2.0-r2.ebuild} | 0
15 dev-libs/crypto++/crypto++-8.2.0.ebuild | 4 +
16 dev-libs/crypto++/files/crypto++-8.2.0-build.patch | 260 +++++++++++++++++++++
17 3 files changed, 264 insertions(+)
18
19 diff --git a/dev-libs/crypto++/crypto++-8.2.0-r1.ebuild b/dev-libs/crypto++/crypto++-8.2.0-r2.ebuild
20 similarity index 100%
21 rename from dev-libs/crypto++/crypto++-8.2.0-r1.ebuild
22 rename to dev-libs/crypto++/crypto++-8.2.0-r2.ebuild
23
24 diff --git a/dev-libs/crypto++/crypto++-8.2.0.ebuild b/dev-libs/crypto++/crypto++-8.2.0.ebuild
25 index bc8c3cb23df..25541d774a7 100644
26 --- a/dev-libs/crypto++/crypto++-8.2.0.ebuild
27 +++ b/dev-libs/crypto++/crypto++-8.2.0.ebuild
28 @@ -18,6 +18,10 @@ BDEPEND="app-arch/unzip"
29
30 S="${WORKDIR}"
31
32 +PATCHES=(
33 + "${FILESDIR}/${P}-build.patch"
34 +)
35 +
36 config_uncomment() {
37 sed -i -e "s://\s*\(#define\s*$1\):\1:" config.h || die
38 }
39
40 diff --git a/dev-libs/crypto++/files/crypto++-8.2.0-build.patch b/dev-libs/crypto++/files/crypto++-8.2.0-build.patch
41 index 903c6817e86..7c7e8a9c1b6 100644
42 --- a/dev-libs/crypto++/files/crypto++-8.2.0-build.patch
43 +++ b/dev-libs/crypto++/files/crypto++-8.2.0-build.patch
44 @@ -9,3 +9,263 @@
45 #define CRYPTOPP_SSE2_INTRIN_AVAILABLE 1
46 #endif
47
48 +From fbbf0a08e8cf4faca661b0f75f806ea652abea70 Mon Sep 17 00:00:00 2001
49 +From: Jeffrey Walton <noloader@×××××.com>
50 +Date: Tue, 2 Jul 2019 16:55:00 -0400
51 +Subject: [PATCH] Add missing XOP header for blake2b_simd.cpp (GH #859) The
52 + Gentoo folks caught a bug at https://bugs.gentoo.org/689162. The 689162 bug
53 + uses -march=bdver1 -msse4.1 on a AMD Bulldozer machine.
54 +
55 +Investigating the issue we are missing the XOP header blake2b_simd.cpp. However, adding the XOP header is not enough for this particular config. Four source files fail to compile with the expected headers. We are waiting on the GCC folks to get back to us with a fix.
56 +---
57 + blake2b_simd.cpp | 5 +++++
58 + keccak_simd.cpp | 5 +++++
59 + simon128_simd.cpp | 1 +
60 + speck128_simd.cpp | 1 +
61 + 4 files changed, 12 insertions(+)
62 +
63 +diff --git a/blake2b_simd.cpp b/blake2b_simd.cpp
64 +index ff138321..b246824c 100644
65 +--- a/blake2b_simd.cpp
66 ++++ b/blake2b_simd.cpp
67 +@@ -32,6 +32,11 @@
68 + # undef CRYPTOPP_ALTIVEC_AVAILABLE
69 + #endif
70 +
71 ++#if defined(__XOP__)
72 ++# include <immintrin.h>
73 ++# include <ammintrin.h>
74 ++#endif
75 ++
76 + #if (CRYPTOPP_SSE41_AVAILABLE)
77 + # include <emmintrin.h>
78 + # include <tmmintrin.h>
79 +diff --git a/keccak_simd.cpp b/keccak_simd.cpp
80 +index 45674ac2..ae2f2095 100644
81 +--- a/keccak_simd.cpp
82 ++++ b/keccak_simd.cpp
83 +@@ -26,6 +26,11 @@
84 + # include <tmmintrin.h>
85 + #endif
86 +
87 ++#if defined(__XOP__)
88 ++# include <immintrin.h>
89 ++# include <ammintrin.h>
90 ++#endif
91 ++
92 + // Squash MS LNK4221 and libtool warnings
93 + extern const char KECCAK_SIMD_FNAME[] = __FILE__;
94 +
95 +diff --git a/simon128_simd.cpp b/simon128_simd.cpp
96 +index 5331c351..4b551f8f 100644
97 +--- a/simon128_simd.cpp
98 ++++ b/simon128_simd.cpp
99 +@@ -23,6 +23,7 @@
100 + #endif
101 +
102 + #if defined(__XOP__)
103 ++# include <immintrin.h>
104 + # include <ammintrin.h>
105 + #endif
106 +
107 +diff --git a/speck128_simd.cpp b/speck128_simd.cpp
108 +index 2c356346..fb3eb1e6 100644
109 +--- a/speck128_simd.cpp
110 ++++ b/speck128_simd.cpp
111 +@@ -23,6 +23,7 @@
112 + #endif
113 +
114 + #if defined(__XOP__)
115 ++# include <immintrin.h>
116 + # include <ammintrin.h>
117 + #endif
118 +
119 +--
120 +2.21.0
121 +
122 +From eeb7dadc76572b7061922ca6ac5f247bdfd985ad Mon Sep 17 00:00:00 2001
123 +From: Jeffrey Walton <noloader@×××××.com>
124 +Date: Tue, 2 Jul 2019 19:10:11 -0400
125 +Subject: [PATCH] Fix missing _mm_roti_epi32 and _mm_roti_epi64 under GCC (GH
126 + #859)
127 +
128 +---
129 + blake2b_simd.cpp | 4 +++-
130 + blake2s_simd.cpp | 7 +++++++
131 + chacha_simd.cpp | 3 +++
132 + cham_simd.cpp | 3 +++
133 + keccak_simd.cpp | 4 +++-
134 + lea_simd.cpp | 3 +++
135 + simeck_simd.cpp | 3 +++
136 + simon128_simd.cpp | 4 +++-
137 + simon64_simd.cpp | 3 +++
138 + speck128_simd.cpp | 4 +++-
139 + speck64_simd.cpp | 3 +++
140 + 11 files changed, 37 insertions(+), 4 deletions(-)
141 +
142 +diff --git a/blake2b_simd.cpp b/blake2b_simd.cpp
143 +index b246824c..6803d0ae 100644
144 +--- a/blake2b_simd.cpp
145 ++++ b/blake2b_simd.cpp
146 +@@ -33,8 +33,10 @@
147 + #endif
148 +
149 + #if defined(__XOP__)
150 +-# include <immintrin.h>
151 + # include <ammintrin.h>
152 ++# if defined(__GNUC__)
153 ++# include <x86intrin.h>
154 ++# endif
155 + #endif
156 +
157 + #if (CRYPTOPP_SSE41_AVAILABLE)
158 +diff --git a/blake2s_simd.cpp b/blake2s_simd.cpp
159 +index f02b9771..4b6d1bd6 100644
160 +--- a/blake2s_simd.cpp
161 ++++ b/blake2s_simd.cpp
162 +@@ -42,6 +42,13 @@
163 + # undef CRYPTOPP_ALTIVEC_AVAILABLE
164 + #endif
165 +
166 ++#if defined(__XOP__)
167 ++# include <ammintrin.h>
168 ++# if defined(__GNUC__)
169 ++# include <x86intrin.h>
170 ++# endif
171 ++#endif
172 ++
173 + #if (CRYPTOPP_SSE41_AVAILABLE)
174 + # include <emmintrin.h>
175 + # include <tmmintrin.h>
176 +diff --git a/chacha_simd.cpp b/chacha_simd.cpp
177 +index a983ab69..5a63ecee 100644
178 +--- a/chacha_simd.cpp
179 ++++ b/chacha_simd.cpp
180 +@@ -46,6 +46,9 @@
181 +
182 + #if defined(__XOP__)
183 + # include <ammintrin.h>
184 ++# if defined(__GNUC__)
185 ++# include <x86intrin.h>
186 ++# endif
187 + #endif
188 +
189 + // C1189: error: This header is specific to ARM targets
190 +diff --git a/cham_simd.cpp b/cham_simd.cpp
191 +index 7fcaece1..e102a877 100644
192 +--- a/cham_simd.cpp
193 ++++ b/cham_simd.cpp
194 +@@ -24,6 +24,9 @@
195 +
196 + #if defined(__XOP__)
197 + # include <ammintrin.h>
198 ++# if defined(__GNUC__)
199 ++# include <x86intrin.h>
200 ++# endif
201 + #endif
202 +
203 + #if defined(__AVX512F__)
204 +diff --git a/keccak_simd.cpp b/keccak_simd.cpp
205 +index ae2f2095..194291a0 100644
206 +--- a/keccak_simd.cpp
207 ++++ b/keccak_simd.cpp
208 +@@ -27,8 +27,10 @@
209 + #endif
210 +
211 + #if defined(__XOP__)
212 +-# include <immintrin.h>
213 + # include <ammintrin.h>
214 ++# if defined(__GNUC__)
215 ++# include <x86intrin.h>
216 ++# endif
217 + #endif
218 +
219 + // Squash MS LNK4221 and libtool warnings
220 +diff --git a/lea_simd.cpp b/lea_simd.cpp
221 +index b4180e34..ee2a5697 100644
222 +--- a/lea_simd.cpp
223 ++++ b/lea_simd.cpp
224 +@@ -24,6 +24,9 @@
225 +
226 + #if defined(__XOP__)
227 + # include <ammintrin.h>
228 ++# if defined(__GNUC__)
229 ++# include <x86intrin.h>
230 ++# endif
231 + #endif
232 +
233 + #if defined(__AVX512F__)
234 +diff --git a/simeck_simd.cpp b/simeck_simd.cpp
235 +index 2a9efc99..f92a53d7 100644
236 +--- a/simeck_simd.cpp
237 ++++ b/simeck_simd.cpp
238 +@@ -24,6 +24,9 @@
239 +
240 + #if defined(__XOP__)
241 + # include <ammintrin.h>
242 ++# if defined(__GNUC__)
243 ++# include <x86intrin.h>
244 ++# endif
245 + #endif
246 +
247 + // Squash MS LNK4221 and libtool warnings
248 +diff --git a/simon128_simd.cpp b/simon128_simd.cpp
249 +index 4b551f8f..cb16fa8d 100644
250 +--- a/simon128_simd.cpp
251 ++++ b/simon128_simd.cpp
252 +@@ -23,8 +23,10 @@
253 + #endif
254 +
255 + #if defined(__XOP__)
256 +-# include <immintrin.h>
257 + # include <ammintrin.h>
258 ++# if defined(__GNUC__)
259 ++# include <x86intrin.h>
260 ++# endif
261 + #endif
262 +
263 + #if defined(__AVX512F__)
264 +diff --git a/simon64_simd.cpp b/simon64_simd.cpp
265 +index eb5a1757..fcbe1342 100644
266 +--- a/simon64_simd.cpp
267 ++++ b/simon64_simd.cpp
268 +@@ -25,6 +25,9 @@
269 +
270 + #if defined(__XOP__)
271 + # include <ammintrin.h>
272 ++# if defined(__GNUC__)
273 ++# include <x86intrin.h>
274 ++# endif
275 + #endif
276 +
277 + // C1189: error: This header is specific to ARM targets
278 +diff --git a/speck128_simd.cpp b/speck128_simd.cpp
279 +index fb3eb1e6..0c0f389e 100644
280 +--- a/speck128_simd.cpp
281 ++++ b/speck128_simd.cpp
282 +@@ -23,8 +23,10 @@
283 + #endif
284 +
285 + #if defined(__XOP__)
286 +-# include <immintrin.h>
287 + # include <ammintrin.h>
288 ++# if defined(__GNUC__)
289 ++# include <x86intrin.h>
290 ++# endif
291 + #endif
292 +
293 + #if defined(__AVX512F__)
294 +diff --git a/speck64_simd.cpp b/speck64_simd.cpp
295 +index 0a720fb3..0b43c175 100644
296 +--- a/speck64_simd.cpp
297 ++++ b/speck64_simd.cpp
298 +@@ -25,6 +25,9 @@
299 +
300 + #if defined(__XOP__)
301 + # include <ammintrin.h>
302 ++# if defined(__GNUC__)
303 ++# include <x86intrin.h>
304 ++# endif
305 + #endif
306 +
307 + // C1189: error: This header is specific to ARM targets