1 2SECTIONS 3{ 4 .text : { *(.init) *(.text) *(.text.*) } 5 . = ALIGN(64K); 6 PROVIDE(etext = .); 7 8 PROVIDE(reloc_start = .); 9 .rela.dyn : { *(.rela.dyn) } 10 PROVIDE(reloc_end = .); 11 .dynsym : { *(.dynsym) } 12 .dynstr : { *(.dynstr) } 13 .hash : { *(.hash) } 14 .gnu.hash : { *(.gnu.hash) } 15 .got : { *(.got) *(.got.plt) } 16 .eh_frame : { *(.eh_frame) } 17 18 .rodata : { *(.rodata*) } 19 .data : { *(.data) } 20 .bss : { *(.bss) } 21 . = ALIGN(64K); 22 PROVIDE(edata = .); 23 24 /* 25 * stack depth is 16K for arm and PAGE_SIZE for arm64, see THREAD_SIZE 26 * sp must be 16 byte aligned for arm64, and 8 byte aligned for arm 27 * sp must always be strictly less than the true stacktop 28 */ 29 . += 64K; 30 . = ALIGN(64K); 31 PROVIDE(stackptr = . - 16); 32 PROVIDE(stacktop = .); 33 34 /DISCARD/ : { 35 *(.note*) 36 *(.interp) 37 *(.debug*) 38 *(.comment) 39 *(.dynamic) 40 } 41} 42 43ENTRY(start) 44