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