SquidgeOS/linker.ld
2026-02-09 21:00:25 +00:00

36 lines
691 B
Text

ENTRY(_start)
SECTIONS
{
. = 0x80000000;
.text : ALIGN(4K) {
/* This matches the .section .text.boot in your assembly */
*(.text.boot)
*(.text .text.*)
}
.rodata : ALIGN(4K) {
*(.rodata .rodata.*)
}
.data : ALIGN(4K) {
*(.data .data.*)
}
.bss : ALIGN(4K) {
PROVIDE(_bss_start = .);
*(.bss .bss.*)
*(COMMON)
PROVIDE(_bss_end = .);
}
/* Keep the stack at the very end to prevent it from overwriting code if it overflows */
. = ALIGN(16);
PROVIDE(_stack_bottom = .);
. += 16384; /* 16k stack */
PROVIDE(stack_top = .);
. = ALIGN(4K);
_heap_start =.;
}