From f64d533b71e48222b770a2313c566f9ba492c711 Mon Sep 17 00:00:00 2001 From: EastDong Date: Wed, 6 Sep 2023 10:49:07 +0800 Subject: [PATCH] fix build failure on riscv64 (cherry picked from commit c16f3805d1d58baf03c0b965e8d94327ae6fc234) --- gnu-efi.spec | 9 +++++- ...ix-efibind.h-missing-duplicate-types.patch | 31 +++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 riscv64-fix-efibind.h-missing-duplicate-types.patch diff --git a/gnu-efi.spec b/gnu-efi.spec index f94f986..56176b9 100644 --- a/gnu-efi.spec +++ b/gnu-efi.spec @@ -1,7 +1,7 @@ %define debug_package %{nil} Name: gnu-efi Version: 3.0.17 -Release: 5 +Release: 6 Summary: Development Libraries and headers for EFI Epoch: 1 License: BSD @@ -12,6 +12,10 @@ Source0: https://sourceforge.net/projects/gnu-efi/files/%{name}-%{version} Source1: stubs-32.h Patch1: 0001-gnu-efi-add-CHAR16-for-loongarch64.patch +%ifarch riscv64 +Patch2: riscv64-fix-efibind.h-missing-duplicate-types.patch +%endif + %global efidir %(eval echo $(grep ^ID= /etc/os-release | sed 's/^ID=//')) %ifarch x86_64 @@ -87,6 +91,9 @@ mv ia32/apps/{route80h.efi,modelist.efi} %{buildroot}/boot/efi/EFI/%{efidir}/ia3 %{_includedir}/efi %changelog +* Wed Sep 6 2023 EastDong - 1:3.0.17-6 +- fix build error in RISC-V + * Mon Aug 28 2023 chenchen - 1:3.0.17-5 - unset ldflags for fix build error diff --git a/riscv64-fix-efibind.h-missing-duplicate-types.patch b/riscv64-fix-efibind.h-missing-duplicate-types.patch new file mode 100644 index 0000000..42d7979 --- /dev/null +++ b/riscv64-fix-efibind.h-missing-duplicate-types.patch @@ -0,0 +1,31 @@ +From 5d4343079fd8c23f2e1773bec6c1630918eda441 Mon Sep 17 00:00:00 2001 +From: Pete Batard +Date: Thu, 18 May 2023 13:30:07 +0100 +Subject: [PATCH] riscv64: fix efibind.h missing/duplicate types + +The RISC-V 64 definition for CHAR8 is missing, so add it. +Likewise, BOOLEAN is defined in inc/efidef.h, so remove it. +--- + inc/riscv64/efibind.h | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/inc/riscv64/efibind.h b/inc/riscv64/efibind.h +index 4fdf81d..d8b4f39 100644 +--- a/inc/riscv64/efibind.h ++++ b/inc/riscv64/efibind.h +@@ -32,11 +32,9 @@ typedef uint16_t UINT16; + typedef int16_t INT16; + typedef uint8_t UINT8; + typedef int8_t INT8; ++typedef char CHAR8; + typedef wchar_t CHAR16; + #define WCHAR CHAR16 +-#ifndef BOOLEAN +-typedef uint8_t BOOLEAN; +-#endif + #undef VOID + typedef void VOID; + typedef int64_t INTN; +-- +2.39.1.windows.1 + -- Gitee