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 . = ALIGN(16); 21 PROVIDE(bss = .); 22 .bss : { *(.bss) } 23 . = ALIGN(16); 24 PROVIDE(ebss = .); 25 . = ALIGN(64K); 26 PROVIDE(edata = .); 27 28 /* 29 * stack depth is 16K for arm and PAGE_SIZE for arm64, see THREAD_SIZE 30 * sp must be 16 byte aligned for arm64, and 8 byte aligned for arm 31 * sp must always be strictly less than the true stacktop 32 */ 33 . += 64K; 34 . = ALIGN(64K); 35 PROVIDE(stackptr = . - 16); 36 PROVIDE(stacktop = .); 37 38 /DISCARD/ : { 39 *(.note*) 40 *(.interp) 41 *(.debug*) 42 *(.comment) 43 *(.dynamic) 44 } 45} 46 47ENTRY(start) 48