ENTRY(_start) SECTIONS { /* Starts at LOADER_ADDR. */ /* Warning! Internet says RPis in 32-bit mode load binary at 0x8000! */ /* My experiments do, however, show, that qemu emulating RPi2 */ /* loads it at 0x10000! (took some pain to find out) */ /* . = 0x10000; */ /* rpi-open-firmware, on the other hand, loads it at 0x2000000 */ /* (and this should be not-so-hard to change by modifying the */ /* firmware) */ . = 0x2000000; /* For AArch64, use . = 0x80000; Unless this too is wrong */ __start = .; __text_start = .; .text : { KEEP(*(.text.boot)) *(.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 = .; }