summaryrefslogtreecommitdiff
path: root/dev-libs/libgcrypt/files/libgcrypt-1.9.1-fix-no-asm-on-amd64-x86.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libgcrypt/files/libgcrypt-1.9.1-fix-no-asm-on-amd64-x86.patch')
-rw-r--r--dev-libs/libgcrypt/files/libgcrypt-1.9.1-fix-no-asm-on-amd64-x86.patch141
1 files changed, 0 insertions, 141 deletions
diff --git a/dev-libs/libgcrypt/files/libgcrypt-1.9.1-fix-no-asm-on-amd64-x86.patch b/dev-libs/libgcrypt/files/libgcrypt-1.9.1-fix-no-asm-on-amd64-x86.patch
deleted file mode 100644
index 875c22370082..000000000000
--- a/dev-libs/libgcrypt/files/libgcrypt-1.9.1-fix-no-asm-on-amd64-x86.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-Broken in https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commitdiff;h=8d404a629167d67ed56e45de3e65d1e0b7cdeb24;hp=3b34bd6e178614d6021ee7d1140646f7c8ed7519
-https://dev.gnupg.org/T5277
-https://bugs.gentoo.org/767859
-
-This is a revert of that commit, as suggested by upstream in the linked bug.
-diff --git a/random/rand-internal.h b/random/rand-internal.h
-index 34221569..d99c6671 100644
---- a/random/rand-internal.h
-+++ b/random/rand-internal.h
-@@ -141,7 +141,7 @@ void _gcry_rndhw_poll_fast (void (*add)(const void*, size_t,
- enum random_origins origin);
- size_t _gcry_rndhw_poll_slow (void (*add)(const void*, size_t,
- enum random_origins),
-- enum random_origins origin, size_t req_length);
-+ enum random_origins origin);
-
-
-
-diff --git a/random/rndhw.c b/random/rndhw.c
-index 3cf9acc3..2829382c 100644
---- a/random/rndhw.c
-+++ b/random/rndhw.c
-@@ -198,33 +198,24 @@ _gcry_rndhw_poll_fast (void (*add)(const void*, size_t, enum random_origins),
-
-
- /* Read 64 bytes from a hardware RNG and return the number of bytes
-- actually read. However hardware source is let account only
-- for up to 50% (or 25% for RDRAND) of the requested bytes. */
-+ actually read. */
- size_t
- _gcry_rndhw_poll_slow (void (*add)(const void*, size_t, enum random_origins),
-- enum random_origins origin, size_t req_length)
-+ enum random_origins origin)
- {
- size_t nbytes = 0;
-
- (void)add;
- (void)origin;
-
-- req_length /= 2; /* Up to 50%. */
--
- #ifdef USE_DRNG
- if ((_gcry_get_hw_features () & HWF_INTEL_RDRAND))
-- {
-- req_length /= 2; /* Up to 25%. */
-- nbytes += poll_drng (add, origin, 0);
-- }
-+ nbytes += poll_drng (add, origin, 0);
- #endif
- #ifdef USE_PADLOCK
- if ((_gcry_get_hw_features () & HWF_PADLOCK_RNG))
- nbytes += poll_padlock (add, origin, 0);
- #endif
-
-- if (nbytes > req_length)
-- nbytes = req_length;
--
- return nbytes;
- }
-diff --git a/random/rndlinux.c b/random/rndlinux.c
-index a22db177..f378a549 100644
---- a/random/rndlinux.c
-+++ b/random/rndlinux.c
-@@ -190,10 +190,19 @@ _gcry_rndlinux_gather_random (void (*add)(const void*, size_t,
- }
-
-
-- /* First read from a hardware source. Note that _gcry_rndhw_poll_slow lets
-- it account only for up to 50% (or 25% for RDRAND) of the requested
-- bytes. */
-- n_hw = _gcry_rndhw_poll_slow (add, origin, length);
-+ /* First read from a hardware source. However let it account only
-+ for up to 50% (or 25% for RDRAND) of the requested bytes. */
-+ n_hw = _gcry_rndhw_poll_slow (add, origin);
-+ if ((_gcry_get_hw_features () & HWF_INTEL_RDRAND))
-+ {
-+ if (n_hw > length/4)
-+ n_hw = length/4;
-+ }
-+ else
-+ {
-+ if (n_hw > length/2)
-+ n_hw = length/2;
-+ }
- if (length > 1)
- length -= n_hw;
-
-diff --git a/src/g10lib.h b/src/g10lib.h
-index 243997eb..cba2e237 100644
---- a/src/g10lib.h
-+++ b/src/g10lib.h
-@@ -217,8 +217,6 @@ char **_gcry_strtokenize (const char *string, const char *delim);
-
-
- /*-- src/hwfeatures.c --*/
--#if defined(HAVE_CPU_ARCH_X86)
--
- #define HWF_PADLOCK_RNG (1 << 0)
- #define HWF_PADLOCK_AES (1 << 1)
- #define HWF_PADLOCK_SHA (1 << 2)
-@@ -238,28 +236,20 @@ char **_gcry_strtokenize (const char *string, const char *delim);
- #define HWF_INTEL_RDTSC (1 << 15)
- #define HWF_INTEL_SHAEXT (1 << 16)
-
--#elif defined(HAVE_CPU_ARCH_ARM)
--
--#define HWF_ARM_NEON (1 << 0)
--#define HWF_ARM_AES (1 << 1)
--#define HWF_ARM_SHA1 (1 << 2)
--#define HWF_ARM_SHA2 (1 << 3)
--#define HWF_ARM_PMULL (1 << 4)
--
--#elif defined(HAVE_CPU_ARCH_PPC)
-+#define HWF_ARM_NEON (1 << 17)
-+#define HWF_ARM_AES (1 << 18)
-+#define HWF_ARM_SHA1 (1 << 19)
-+#define HWF_ARM_SHA2 (1 << 20)
-+#define HWF_ARM_PMULL (1 << 21)
-
--#define HWF_PPC_VCRYPTO (1 << 0)
--#define HWF_PPC_ARCH_3_00 (1 << 1)
--#define HWF_PPC_ARCH_2_07 (1 << 2)
-+#define HWF_PPC_VCRYPTO (1 << 22)
-+#define HWF_PPC_ARCH_3_00 (1 << 23)
-+#define HWF_PPC_ARCH_2_07 (1 << 24)
-
--#elif defined(HAVE_CPU_ARCH_S390X)
--
--#define HWF_S390X_MSA (1 << 0)
--#define HWF_S390X_MSA_4 (1 << 1)
--#define HWF_S390X_MSA_8 (1 << 2)
--#define HWF_S390X_VX (1 << 3)
--
--#endif
-+#define HWF_S390X_MSA (1 << 25)
-+#define HWF_S390X_MSA_4 (1 << 26)
-+#define HWF_S390X_MSA_8 (1 << 27)
-+#define HWF_S390X_VX (1 << 28)
-
- gpg_err_code_t _gcry_disable_hw_feature (const char *name);
- void _gcry_detect_hw_features (void);