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

From: "lizhengyu (E)" <[email-masked]>
Date: Thu, 2 Jun 2022 09:02:09 +0800

On Wed, 01 Jun 2022 09:08:16 -0700, Randy Dunlap <[email-masked]> 
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/[email-masked]/ .

>
> thanks.
>
>> Signed-off-by: Li Zhengyu <[email-masked]>
>> ---
>>   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 */