grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v18 06/25] libtasn1: Use grub_divmod64() for division


From: Gary Lin
Subject: [PATCH v18 06/25] libtasn1: Use grub_divmod64() for division
Date: Fri, 28 Jun 2024 16:18:49 +0800

Replace a 64 bit division with a call to grub_divmod64, preventing
creation of __udivdi3 calls on 32 bit platforms.

Signed-off-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Gary Lin <glin@suse.com>
---
 ...tasn1-Use-grub_divmod64-for-division.patch | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 
grub-core/lib/libtasn1-patches/0004-libtasn1-Use-grub_divmod64-for-division.patch

diff --git 
a/grub-core/lib/libtasn1-patches/0004-libtasn1-Use-grub_divmod64-for-division.patch
 
b/grub-core/lib/libtasn1-patches/0004-libtasn1-Use-grub_divmod64-for-division.patch
new file mode 100644
index 000000000..a8f41cd74
--- /dev/null
+++ 
b/grub-core/lib/libtasn1-patches/0004-libtasn1-Use-grub_divmod64-for-division.patch
@@ -0,0 +1,30 @@
+From 52ad4fb6a023f27fdcea490d8e4956ce3957b1f9 Mon Sep 17 00:00:00 2001
+From: Gary Lin <glin@suse.com>
+Date: Tue, 25 Jun 2024 16:32:50 +0800
+Subject: [PATCH 4/6] libtasn1: Use grub_divmod64() for division
+
+Replace a 64 bit division with a call to grub_divmod64, preventing
+creation of __udivdi3 calls on 32 bit platforms.
+
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Signed-off-by: Gary Lin <glin@suse.com>
+---
+ grub-core/lib/libtasn1-grub/lib/parser_aux.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/grub-core/lib/libtasn1-grub/lib/parser_aux.c 
b/grub-core/lib/libtasn1-grub/lib/parser_aux.c
+index c05bd2339..e4e4c0556 100644
+--- a/grub-core/lib/libtasn1-grub/lib/parser_aux.c
++++ b/grub-core/lib/libtasn1-grub/lib/parser_aux.c
+@@ -632,7 +632,7 @@ _asn1_ltostr (int64_t v, char str[LTOSTR_MAX_SIZE])
+   count = 0;
+   do
+     {
+-      d = val / 10;
++      d = grub_divmod64(val, 10, NULL);
+       r = val - d * 10;
+       temp[start + count] = '0' + (char) r;
+       count++;
+-- 
+2.35.3
+
-- 
2.35.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]