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

openSUSE Build Service is sponsored by