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.
Signed-off-by: Li Zhengyu <[email protected]>
---
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 */
--
2.17.1
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.
>
> Signed-off-by: Li Zhengyu <[email protected]>
Reported-by: Randy Dunlap <[email protected]>
Tested-by: Randy Dunlap <[email protected]>
Acked-by: Randy Dunlap <[email protected]>
thanks.
> ---
> 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 */
--
~Randy
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?
thanks.
> Signed-off-by: Li Zhengyu <[email protected]>
> ---
> 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 */
--
~Randy
On Wed, 01 Jun 2022 09:08:16 -0700, Randy Dunlap <[email protected]>
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 protected]/ .
>
> thanks.
>
>> Signed-off-by: Li Zhengyu <[email protected]>
>> ---
>> 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 */