File 0008-Add-powerpc-to-softdiv-and-define-bswap64.patch of Package grub2

From 0137a564008acc8b9acc6e0ccf3793aa096db4f5 Mon Sep 17 00:00:00 2001
From: Michael Chang <mchang@suse.com>
Date: Thu, 8 Jun 2023 20:44:45 +0800
Subject: [PATCH 8/9] Add powerpc to softdiv and define bswap64

This fixes the error:

cat syminfo.lst | sort | gawk -f ../../grub-core/genmoddep.awk > moddep.lst || (rm -f moddep.lst; exit 1)
__moddi3 in gcry_blake2 is not defined
__umoddi3 in gcry_blake2 is not defined
_gcry_bswap64 in gcry_blake2 is not defined
---
 gentpl.py                                   | 2 +-
 grub-core/lib/libgcrypt-argon2/cipher/kdf.c | 1 +
 include/grub/misc.h                         | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/gentpl.py b/gentpl.py
index a5bf12289..b568ed7db 100644
--- a/gentpl.py
+++ b/gentpl.py
@@ -83,7 +83,7 @@ GROUPS["fdt"] = [ "arm64_efi", "arm_uboot", "arm_efi", "riscv32_efi", "riscv64_e
 
 # Needs software helpers for division
 # Must match GRUB_DIVISION_IN_SOFTWARE in misc.h
-GROUPS["softdiv"] = GROUPS["arm"] + ["ia64_efi"] + GROUPS["riscv32"] + GROUPS["i386"] + ["i386_xen"]
+GROUPS["softdiv"] = GROUPS["arm"] + ["ia64_efi"] + GROUPS["riscv32"] + GROUPS["i386"] + ["i386_xen"] + GROUPS["powerpc"]
 GROUPS["no_softdiv"]   = GRUB_PLATFORMS[:]
 for i in GROUPS["softdiv"]: GROUPS["no_softdiv"].remove(i)
 
diff --git a/grub-core/lib/libgcrypt-argon2/cipher/kdf.c b/grub-core/lib/libgcrypt-argon2/cipher/kdf.c
index f97cc324b..0fbd569ae 100644
--- a/grub-core/lib/libgcrypt-argon2/cipher/kdf.c
+++ b/grub-core/lib/libgcrypt-argon2/cipher/kdf.c
@@ -24,6 +24,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
 #include "g10lib.h"
 #define xtrymalloc(a)    gcry_malloc ((a))
 #define xfree(a)         gcry_free ((a))
+#define _gcry_bswap64(a) grub_swap_bytes64 ((a))
 #include "cipher.h"
 #include "kdf-internal.h"
 #include <grub/gcry/argon2.h>
diff --git a/include/grub/misc.h b/include/grub/misc.h
index 6f7a7c8ba..1923c110e 100644
--- a/include/grub/misc.h
+++ b/include/grub/misc.h
@@ -359,7 +359,7 @@ grub_uint64_t EXPORT_FUNC(grub_divmod64) (grub_uint64_t n,
 					  grub_uint64_t *r);
 
 /* Must match softdiv group in gentpl.py.  */
-#if !defined(GRUB_MACHINE_EMU) && (defined(__arm__) || defined(__ia64__) || defined(__i386__) || \
+#if !defined(GRUB_MACHINE_EMU) && (defined(__arm__) || defined(__ia64__) || defined(__i386__) || defined(__powerpc__) || \
     (defined(__riscv) && (__riscv_xlen == 32)))
 #define GRUB_DIVISION_IN_SOFTWARE 1
 #else
-- 
2.40.1

openSUSE Build Service is sponsored by