]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
libgcrypt: Don't use 64-bit division on platforms where it's slow
authorVladimir Serbinenko <phcoder@gmail.com>
Mon, 7 Jul 2025 14:52:19 +0000 (14:52 +0000)
committerDaniel Kiper <daniel.kiper@oracle.com>
Fri, 11 Jul 2025 21:12:51 +0000 (23:12 +0200)
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/lib/libgcrypt-patches/07_disable_64div.patch [new file with mode: 0644]

diff --git a/grub-core/lib/libgcrypt-patches/07_disable_64div.patch b/grub-core/lib/libgcrypt-patches/07_disable_64div.patch
new file mode 100644 (file)
index 0000000..bb47bdf
--- /dev/null
@@ -0,0 +1,15 @@
+Don't use 64-bit division on platforms where it's slow
+
+diff --git a/grub-core/lib/libgcrypt/mpi/longlong.h b/grub-core/lib/libgcrypt/mpi/longlong.h
+index 21bd1a7ef..672448724 100644
+--- a/grub-core/lib/libgcrypt-grub/mpi/longlong.h
++++ b/grub-core/lib/libgcrypt-grub/mpi/longlong.h
+@@ -1711,7 +1711,7 @@ typedef unsigned int UTItype __attribute__ ((mode (TI)));
+   } while (0)
+ /* Use double word type if available. */
+-#if !defined (udiv_qrnnd) && defined (UDWtype)
++#if !defined (udiv_qrnnd) && defined (UDWtype) && !defined(__arm__) && !defined(__mips__) && !defined(__powerpc__)
+ #  define udiv_qrnnd(q, r, nh, nl, d) \
+   do {                                                                        \
+     UWtype __d = (d);                                                 \