From e3587017f60bc064a3b4813009f328c5e2e97d05 Mon Sep 17 00:00:00 2001 From: Anhad Singh Date: Thu, 19 Dec 2024 00:53:08 +1100 Subject: [PATCH] fix(ld.so): stub plt stub for non-x86_64 Signed-off-by: Anhad Singh --- src/ld_so/linker.rs | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs index a8c79a851a..eeb8f6f873 100644 --- a/src/ld_so/linker.rs +++ b/src/ld_so/linker.rs @@ -937,3 +937,36 @@ __plt_resolve_trampoline: ", __plt_resolve_inner = sym __plt_resolve_inner ); + +#[cfg(target_arch = "x86")] +core::arch::global_asm!( + " +.global __plt_resolve_trampoline +.hidden __plt_resolve_trampoline +__plt_resolve_trampoline: + ud2 +.size __plt_resolve_trampoline, . - __plt_resolve_trampoline + " +); + +#[cfg(target_arch = "aarch64")] +core::arch::global_asm!( + " +.global __plt_resolve_trampoline +.hidden __plt_resolve_trampoline +__plt_resolve_trampoline: + udf #0 +.size __plt_resolve_trampoline, . - __plt_resolve_trampoline + " +); + +#[cfg(target_arch = "riscv64")] +core::arch::global_asm!( + " +.global __plt_resolve_trampoline +.hidden __plt_resolve_trampoline +__plt_resolve_trampoline: + unimp +.size __plt_resolve_trampoline, . - __plt_resolve_trampoline + " +);