diff --git a/minix/kernel/arch/earm/head.S b/minix/kernel/arch/earm/head.S index 03f9f97e0..b384283e1 100644 --- a/minix/kernel/arch/earm/head.S +++ b/minix/kernel/arch/earm/head.S @@ -18,7 +18,7 @@ #include "arch_proto.h" /* K_STACK_SIZE */ -.text +.section .startup /*===========================================================================*/ /* MINIX */ /*===========================================================================*/ @@ -27,6 +27,7 @@ MINIX: /* this is the entry point for the MINIX kernel */ b multiboot_init +.text multiboot_init: ldr sp, =load_stack_start /* make usable stack */ mov fp, #0 diff --git a/minix/kernel/arch/earm/kernel.lds b/minix/kernel/arch/earm/kernel.lds index b41fcad29..860e40167 100644 --- a/minix/kernel/arch/earm/kernel.lds +++ b/minix/kernel/arch/earm/kernel.lds @@ -14,7 +14,7 @@ SECTIONS . = _kern_phys_base; __k_unpaged__kern_unpaged_start = .; - .unpaged_text ALIGN(4096) : { unpaged_*.o(.text) } + .unpaged_text ALIGN(4096) : { unpaged_*.o(.startup); unpaged_*.o(.text) } .unpaged_data ALIGN(4096) : { unpaged_*.o(.data .rodata*) } __k_unpaged__kern_unpaged_edata = .;