mirror of
https://github.com/nxp-imx/linux-imx.git
synced 2025-07-06 17:35:20 +02:00
FROMGIT: KVM: arm64: nVHE: gen-hyprel: Skip R_AARCH64_ABS32
Ignore R_AARCH64_ABS32 relocations, instead of panicking, when emitting
the relocation table of the hypervisor. The toolchain might produce them
when generating function calls with kCFI to represent the 32-bit type ID
which can then be resolved across compilation units at link time. These
are NOT actual 32-bit addresses and are therefore not needed in the
final (runtime) relocation table (which is unlikely to use 32-bit
absolute addresses for arm64 anyway).
Bug: 278010198
Bug: 278749606
(cherry picked from commit 4ab3f9dd56
https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git )
Change-Id: I01691fc96535a16b21d8aaa3ad3f4d9fac67745d
Signed-off-by: Pierre-Clément Tosi <ptosi@google.com>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20240610063244.2828978-5-ptosi@google.com
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
This commit is contained in:
parent
406d5af44a
commit
57d9ce55ce
|
@ -50,6 +50,9 @@
|
|||
#ifndef R_AARCH64_ABS64
|
||||
#define R_AARCH64_ABS64 257
|
||||
#endif
|
||||
#ifndef R_AARCH64_ABS32
|
||||
#define R_AARCH64_ABS32 258
|
||||
#endif
|
||||
#ifndef R_AARCH64_PREL64
|
||||
#define R_AARCH64_PREL64 260
|
||||
#endif
|
||||
|
@ -383,6 +386,9 @@ static void emit_rela_section(Elf64_Shdr *sh_rela)
|
|||
case R_AARCH64_ABS64:
|
||||
emit_rela_abs64(rela, sh_orig_name);
|
||||
break;
|
||||
/* Allow 32-bit absolute relocation, for kCFI type hashes. */
|
||||
case R_AARCH64_ABS32:
|
||||
break;
|
||||
/* Allow position-relative data relocations. */
|
||||
case R_AARCH64_PREL64:
|
||||
case R_AARCH64_PREL32:
|
||||
|
|
Loading…
Reference in New Issue
Block a user