1*5b3b9a58SWarner LoshOUTPUT_ARCH(arm) 2*5b3b9a58SWarner LoshENTRY(_start) 3*5b3b9a58SWarner LoshSECTIONS 4*5b3b9a58SWarner Losh{ 5*5b3b9a58SWarner Losh /* Read-only sections, merged into text segment: */ 6*5b3b9a58SWarner Losh . = 0; 7*5b3b9a58SWarner Losh ImageBase = .; 8*5b3b9a58SWarner Losh .text : { 9*5b3b9a58SWarner Losh *(.peheader) 10*5b3b9a58SWarner Losh *(.text .stub .text.* .gnu.linkonce.t.*) 11*5b3b9a58SWarner Losh /* .gnu.warning sections are handled specially by elf32.em. */ 12*5b3b9a58SWarner Losh *(.gnu.warning) 13*5b3b9a58SWarner Losh *(.gnu.linkonce.t*) 14*5b3b9a58SWarner Losh } =0 15*5b3b9a58SWarner Losh _etext = .; 16*5b3b9a58SWarner Losh PROVIDE (etext = .); 17*5b3b9a58SWarner Losh . = ALIGN(16); 18*5b3b9a58SWarner Losh .data : 19*5b3b9a58SWarner Losh { 20*5b3b9a58SWarner Losh *(.data .data.*) 21*5b3b9a58SWarner Losh *(.gnu.linkonce.d*) 22*5b3b9a58SWarner Losh *(.rodata) 23*5b3b9a58SWarner Losh *(.rodata.*) 24*5b3b9a58SWarner Losh CONSTRUCTORS 25*5b3b9a58SWarner Losh 26*5b3b9a58SWarner Losh . = ALIGN(4); 27*5b3b9a58SWarner Losh PROVIDE (__bss_start = .); 28*5b3b9a58SWarner Losh *(.sbss) 29*5b3b9a58SWarner Losh *(.scommon) 30*5b3b9a58SWarner Losh *(.dynsbss) 31*5b3b9a58SWarner Losh *(.dynbss) 32*5b3b9a58SWarner Losh *(.bss) 33*5b3b9a58SWarner Losh *(COMMON) 34*5b3b9a58SWarner Losh . = ALIGN(4); 35*5b3b9a58SWarner Losh PROVIDE (__bss_end = .); 36*5b3b9a58SWarner Losh } 37*5b3b9a58SWarner Losh .dynamic : { *(.dynamic) } 38*5b3b9a58SWarner Losh /* We want the small data sections together, so single-instruction offsets 39*5b3b9a58SWarner Losh can access them all, and initialized data all before uninitialized, so 40*5b3b9a58SWarner Losh we can shorten the on-disk segment size. */ 41*5b3b9a58SWarner Losh .sdata : { 42*5b3b9a58SWarner Losh *(.got.plt .got) 43*5b3b9a58SWarner Losh *(.sdata*.sdata.* .gnu.linkonce.s.*) 44*5b3b9a58SWarner Losh } 45*5b3b9a58SWarner Losh __gp = .; 46*5b3b9a58SWarner Losh .plt : { *(.plt) } 47*5b3b9a58SWarner Losh .reloc : { *(.reloc) } 48*5b3b9a58SWarner Losh .dynsym : { *(.dynsym) } 49*5b3b9a58SWarner Losh .dynstr : { *(.dynstr) } 50*5b3b9a58SWarner Losh .rel.dyn : { 51*5b3b9a58SWarner Losh *(.rel.*) 52*5b3b9a58SWarner Losh *(.relset_*) 53*5b3b9a58SWarner Losh } 54*5b3b9a58SWarner Losh _edata = .; 55*5b3b9a58SWarner Losh .hash : { *(.hash) } 56*5b3b9a58SWarner Losh} 57