File 0009-Add-__aeabi_-ldivmod-gcc-stub-on-arm.patch of Package grub2
From 619c2a6d1b0af4cda55033a36abcea94f59fcf5b Mon Sep 17 00:00:00 2001
From: Michael Chang <mchang@suse.com>
Date: Thu, 8 Jun 2023 21:18:28 +0800
Subject: [PATCH 9/9] Add __aeabi_*ldivmod gcc stub on arm
cat syminfo.lst | sort | gawk -f ../../grub-core/genmoddep.awk > moddep.lst || (rm -f moddep.lst; exit 1)
__aeabi_ldivmod in gcry_blake2 is not defined
__aeabi_uldivmod in gcry_blake2 is not defined
---
grub-core/kern/compiler-rt.c | 4 ++++
include/grub/compiler-rt.h | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/grub-core/kern/compiler-rt.c b/grub-core/kern/compiler-rt.c
index 2057c2e0c..52e8abded 100644
--- a/grub-core/kern/compiler-rt.c
+++ b/grub-core/kern/compiler-rt.c
@@ -389,6 +389,10 @@ void *__aeabi_memcpy8 (void *dest, const void *src, grub_size_t n)
__attribute__ ((alias ("grub_memcpy")));
void *__aeabi_memset (void *s, int c, grub_size_t n)
__attribute__ ((alias ("memset")));
+grub_int64_t __aeabi_ldivmod (grub_int64_t a, grub_int64_t b)
+ __attribute__ ((alias ("__moddi3")));
+grub_uint64_t __aeabi_uldivmod (grub_uint64_t a, grub_uint64_t b)
+ __attribute__ ((alias ("__umoddi3")));
void
__aeabi_memclr (void *s, grub_size_t n)
diff --git a/include/grub/compiler-rt.h b/include/grub/compiler-rt.h
index 17828b322..b0c4fd5a9 100644
--- a/include/grub/compiler-rt.h
+++ b/include/grub/compiler-rt.h
@@ -108,6 +108,12 @@ EXPORT_FUNC (__aeabi_llsl) (grub_uint64_t u, int b);
grub_uint64_t
EXPORT_FUNC (__aeabi_llsr) (grub_uint64_t u, int b);
+grub_int64_t
+EXPORT_FUNC (__aeabi_ldivmod) (grub_int64_t a, grub_int64_t b);
+
+grub_uint64_t
+EXPORT_FUNC (__aeabi_uldivmod) (grub_uint64_t a, grub_uint64_t b);
+
#endif
#if defined(__mips__) || defined(__riscv) || defined(__sparc__)
--
2.40.1