diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs index a835a2e917..0f42d79eb4 100644 --- a/src/ld_so/linker.rs +++ b/src/ld_so/linker.rs @@ -865,16 +865,6 @@ impl Linker { } unsafe extern "C" fn call_inits_finis(addr: usize) { - #[cfg(target_arch = "x86_64")] - asm!(" - cmp qword ptr [rdi], 0 - je end - call [rdi] -end: nop - " - : - : - : - : "intel", "volatile" - ); + let func = transmute::>(addr); + (*func).map(|x| x()); }