1*5f4d3f8eSWarner LoshOUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd") 2*5f4d3f8eSWarner LoshOUTPUT_ARCH(i386:x86-64) 3*5f4d3f8eSWarner LoshENTRY(_start) 4*5f4d3f8eSWarner LoshSECTIONS 5*5f4d3f8eSWarner Losh{ 6*5f4d3f8eSWarner Losh /* Read-only sections, merged into text segment: */ 7*5f4d3f8eSWarner Losh . = 0; 8*5f4d3f8eSWarner Losh ImageBase = .; 9*5f4d3f8eSWarner Losh .hash : { *(.hash) } /* this MUST come first! */ 10*5f4d3f8eSWarner Losh . = ALIGN(4096); 11*5f4d3f8eSWarner Losh .eh_frame : 12*5f4d3f8eSWarner Losh { 13*5f4d3f8eSWarner Losh *(.eh_frame) 14*5f4d3f8eSWarner Losh } 15*5f4d3f8eSWarner Losh . = ALIGN(4096); 16*5f4d3f8eSWarner Losh .text : { 17*5f4d3f8eSWarner Losh *(.text .stub .text.* .gnu.linkonce.t.*) 18*5f4d3f8eSWarner Losh /* .gnu.warning sections are handled specially by elf32.em. */ 19*5f4d3f8eSWarner Losh *(.gnu.warning) 20*5f4d3f8eSWarner Losh *(.plt) 21*5f4d3f8eSWarner Losh } =0xCCCCCCCC 22*5f4d3f8eSWarner Losh . = ALIGN(4096); 23*5f4d3f8eSWarner Losh .data : { 24*5f4d3f8eSWarner Losh *(.rodata .rodata.* .gnu.linkonce.r.*) 25*5f4d3f8eSWarner Losh *(.rodata1) 26*5f4d3f8eSWarner Losh *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) 27*5f4d3f8eSWarner Losh *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) 28*5f4d3f8eSWarner Losh *(.opd) 29*5f4d3f8eSWarner Losh *(.data .data.* .gnu.linkonce.d.*) 30*5f4d3f8eSWarner Losh *(.data1) 31*5f4d3f8eSWarner Losh *(.plabel) 32*5f4d3f8eSWarner Losh *(.dynbss) 33*5f4d3f8eSWarner Losh *(.bss .bss.* .gnu.linkonce.b.*) 34*5f4d3f8eSWarner Losh *(COMMON) 35*5f4d3f8eSWarner Losh } 36*5f4d3f8eSWarner Losh . = ALIGN(4096); 37*5f4d3f8eSWarner Losh __gp = .; 38*5f4d3f8eSWarner Losh .sdata : { 39*5f4d3f8eSWarner Losh *(.got.plt .got) 40*5f4d3f8eSWarner Losh *(.sdata .sdata.* .gnu.linkonce.s.*) 41*5f4d3f8eSWarner Losh *(dynsbss) 42*5f4d3f8eSWarner Losh *(.sbss .sbss.* .gnu.linkonce.sb.*) 43*5f4d3f8eSWarner Losh *(.scommon) 44*5f4d3f8eSWarner Losh } 45*5f4d3f8eSWarner Losh . = ALIGN(4096); 46*5f4d3f8eSWarner Losh .dynamic : { *(.dynamic) } 47*5f4d3f8eSWarner Losh . = ALIGN(4096); 48*5f4d3f8eSWarner Losh .rela.dyn : { 49*5f4d3f8eSWarner Losh *(.rela.data*) 50*5f4d3f8eSWarner Losh *(.rela.got) 51*5f4d3f8eSWarner Losh *(.rela.stab) 52*5f4d3f8eSWarner Losh *(.relaset_*) 53*5f4d3f8eSWarner Losh } 54*5f4d3f8eSWarner Losh . = ALIGN(4096); 55*5f4d3f8eSWarner Losh .reloc : { *(.reloc) } 56*5f4d3f8eSWarner Losh . = ALIGN(4096); 57*5f4d3f8eSWarner Losh .dynsym : { *(.dynsym) } 58*5f4d3f8eSWarner Losh . = ALIGN(4096); 59*5f4d3f8eSWarner Losh .dynstr : { *(.dynstr) } 60*5f4d3f8eSWarner Losh} 61