Re: [PATCH] RISCV: kexec: Fix build error without CONFIG_MODULES

From: lizhengyu (E)
Date: Wed Jun 01 2022 - 21:02:20 EST



On Wed, 01 Jun 2022 09:08:16 -0700, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
Hi--

On 5/31/22 23:39, Li Zhengyu wrote:
When CONFIG_MODULES is not set/enabled:

../arch/riscv/kernel/elf_kexec.c:353:9: error: unknown type name 'Elf_Rela'; did you mean 'Elf64_Rela'?
353 | Elf_Rela *relas;
| ^~~~~~~~
| Elf64_Rela

Replace Elf_Rela by Elf64_Rela to avoid relying on CONFIG_MODULES.

BTW, does this mean that RISC-V kexec is only available on 64BIT
and not on 32BIT?

Currently, yes, CONFIG_KEXEC_FILE depends on 64BIT.

Palmer is working on it, see https://lore.kernel.org/all/20220520154430.18593-1-palmer@xxxxxxxxxxxx/ .


thanks.

Signed-off-by: Li Zhengyu <lizhengyu3@xxxxxxxxxx>
---
arch/riscv/kernel/elf_kexec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/riscv/kernel/elf_kexec.c b/arch/riscv/kernel/elf_kexec.c
index 9cb85095fd45..0cb94992c15b 100644
--- a/arch/riscv/kernel/elf_kexec.c
+++ b/arch/riscv/kernel/elf_kexec.c
@@ -349,7 +349,7 @@ int arch_kexec_apply_relocations_add(struct purgatory_info *pi,
{
const char *strtab, *name, *shstrtab;
const Elf_Shdr *sechdrs;
- Elf_Rela *relas;
+ Elf64_Rela *relas;
int i, r_type;
/* String & section header string table */