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