ENTRY(_start) SECTIONS { /* stage2 bootloader gets loaded at 0x4000 */ . = 0x4000; __start = .; __text_start = .; .text : { /* have entry point at the beginning */ KEEP(*(.text.stage2main)) *(.text) } . = ALIGN(4096); /* align to page size */ __text_end = .; __rodata_start = .; .rodata : { *(.rodata) } . = ALIGN(4096); /* align to page size */ __rodata_end = .; __data_start = .; .data : { *(.data) } . = ALIGN(4096); /* align to page size */ __data_end = .; __bss_start = .; .bss : { bss = .; *(.bss) } . = ALIGN(4096); /* align to page size */ __bss_end = .; __bss_size = __bss_end - __bss_start; __end = .; }