diff options
author | Ying Sun <[email protected]> | 2024-07-11 08:32:36 +0000 |
---|---|---|
committer | Palmer Dabbelt <[email protected]> | 2024-08-14 17:44:33 -0700 |
commit | c6ebf2c528470a09be77d0d9df2c6617ea037ac5 (patch) | |
tree | e583b674c81734e695607fe34c4efeece5ad05b5 /scripts/generate_rust_analyzer.py | |
parent | f15c21a3de1b5321ba4ae2c6c8f2e63b839d49fa (diff) |
riscv/kexec_file: Fix relocation type R_RISCV_ADD16 and R_RISCV_SUB16 unknown
Runs on the kernel with CONFIG_RISCV_ALTERNATIVE enabled:
kexec -sl vmlinux
Error:
kexec_image: Unknown rela relocation: 34
kexec_image: Error loading purgatory ret=-8
and
kexec_image: Unknown rela relocation: 38
kexec_image: Error loading purgatory ret=-8
The purgatory code uses the 16-bit addition and subtraction relocation
type, but not handled, resulting in kexec_file_load failure.
So add handle to arch_kexec_apply_relocations_add().
Tested on RISC-V64 Qemu-virt, issue fixed.
Co-developed-by: Petr Tesarik <[email protected]>
Signed-off-by: Petr Tesarik <[email protected]>
Signed-off-by: Ying Sun <[email protected]>
Reviewed-by: Andrew Jones <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Palmer Dabbelt <[email protected]>
Diffstat (limited to 'scripts/generate_rust_analyzer.py')
0 files changed, 0 insertions, 0 deletions