Add missing assert to link.ld to make sure important code doesn't get overwritten

This commit is contained in:
Maschell 2024-04-19 18:17:51 +02:00
parent fcac53670d
commit 103e950aef

View File

@ -7,6 +7,8 @@ SECTIONS {
.text : { .text : {
*(.kernel_code*); *(.kernel_code*);
*(.start_code*); *(.start_code*);
start_code_end = .;
/* everything below this code may get overwritten at runtime */
*(.text*); *(.text*);
/* Tell linker to not garbage collect this section as it is not referenced anywhere */ /* Tell linker to not garbage collect this section as it is not referenced anywhere */
KEEP(*(.kernel_code*)); KEEP(*(.kernel_code*));
@ -24,4 +26,5 @@ SECTIONS {
} }
} }
ASSERT((SIZEOF(.text) + SIZEOF(.data)) < (0x00900000 - 0x00808000), "elf is too big"); ASSERT((SIZEOF(.text) + SIZEOF(.data)) < (0x00900000 - 0x00808000), "elf is too big");
ASSERT(start_code_end <= 0x00809000, "start_code section is too big");