diff --git a/src/crti/src/lib.rs b/src/crti/src/lib.rs index f9c303d069..b1ee2a1a5e 100644 --- a/src/crti/src/lib.rs +++ b/src/crti/src/lib.rs @@ -5,7 +5,7 @@ use core::arch::global_asm; -#[cfg(target_arch = "x86_64")] +#[cfg(target_arch = "x86")] global_asm!( r#" .section .init diff --git a/src/ld_so/src/lib.rs b/src/ld_so/src/lib.rs index 1dd2e438c1..2dfa4f7b12 100644 --- a/src/ld_so/src/lib.rs +++ b/src/ld_so/src/lib.rs @@ -12,6 +12,17 @@ _start: # TODO: aarch64 "); +#[cfg(target_arch = "x86")] +global_asm!(" +.globl _start +_start: + push esp + call relibc_ld_so_start + pop esp + # TODO: x86 + ud2 +"); + #[cfg(target_arch = "x86_64")] global_asm!(" .globl _start