aboutsummaryrefslogtreecommitdiffstats
path: root/main/efitools/005-riscv64.patch
blob: b98c138c10d5fbd5d502d342ee791be508c0ec3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
We can use just the same flags as for aarch64.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx>
---
RISC-V patches for gnu-efi are not yet accepted in upstream. Cf.

[Gnu-efi-discuss] [PATCH 1/1] Initial support for RISCV64
https://sourceforge.net/p/gnu-efi/mailman/gnu-efi-discuss/thread/20210401153553.103286-1-xypron.glpk%40gmx.de/#msg37253360
[Gnu-efi-discuss] [PATCH 1/1] Undefined Status in LibGetVariableAndSize()
https://sourceforge.net/p/gnu-efi/mailman/gnu-efi-discuss/thread/20210319162557.334645-1-xypron.glpk%40gmx.de/#msg37243995

You can use
https://github.com/xypron/gnu-efi/releases/tag/riscv64-2021-04-01 for
building sbsigntools and efitools.
---
 Make.rules | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Make.rules b/Make.rules
index 903a5a4..69bd3bd 100644
--- a/Make.rules
+++ b/Make.rules
@@ -10,6 +10,8 @@ else ifeq ($(ARCH),aarch64)
 ARCH3264 =
 else ifeq ($(ARCH),arm)
 ARCH3264 =
+else ifeq ($(ARCH),riscv64)
+ARCH3264 =
 else
 $(error unknown architecture $(ARCH))
 endif
@@ -56,6 +58,11 @@ ifeq ($(ARCH),aarch64)
   FORMAT = -O binary
 endif

+ifeq ($(ARCH),riscv64)
+  LDFLAGS += --defsym=EFI_SUBSYSTEM=0x0a
+  FORMAT = -O binary
+endif
+
 %.efi: %.so
 	$(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym \
 		   -j .rel -j .rela -j .rel.* -j .rela.* -j .rel* -j .rela* \
--
2.30.2