15b3b9a58SWarner LoshOUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd") 25b3b9a58SWarner LoshOUTPUT_ARCH(i386:x86-64) 35b3b9a58SWarner LoshENTRY(_start) 45b3b9a58SWarner LoshSECTIONS 55b3b9a58SWarner Losh{ 65b3b9a58SWarner Losh /* Read-only sections, merged into text segment: */ 75b3b9a58SWarner Losh . = 0; 85b3b9a58SWarner Losh ImageBase = .; 95b3b9a58SWarner Losh .hash : { *(.hash) } /* this MUST come first! */ 105b3b9a58SWarner Losh . = ALIGN(4096); 115b3b9a58SWarner Losh .eh_frame : 125b3b9a58SWarner Losh { 135b3b9a58SWarner Losh *(.eh_frame) 145b3b9a58SWarner Losh } 155b3b9a58SWarner Losh . = ALIGN(4096); 165b3b9a58SWarner Losh .text : { 175b3b9a58SWarner Losh *(.text .stub .text.* .gnu.linkonce.t.*) 185b3b9a58SWarner Losh /* .gnu.warning sections are handled specially by elf32.em. */ 195b3b9a58SWarner Losh *(.gnu.warning) 205b3b9a58SWarner Losh *(.plt) 215b3b9a58SWarner Losh } =0xCCCCCCCC 225b3b9a58SWarner Losh . = ALIGN(4096); 235b3b9a58SWarner Losh .data : { 245b3b9a58SWarner Losh *(.rodata .rodata.* .gnu.linkonce.r.*) 255b3b9a58SWarner Losh *(.rodata1) 265b3b9a58SWarner Losh *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) 275b3b9a58SWarner Losh *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) 285b3b9a58SWarner Losh *(.opd) 295b3b9a58SWarner Losh *(.data .data.* .gnu.linkonce.d.*) 305b3b9a58SWarner Losh *(.data1) 315b3b9a58SWarner Losh *(.plabel) 325b3b9a58SWarner Losh *(.dynbss) 335b3b9a58SWarner Losh *(.bss .bss.* .gnu.linkonce.b.*) 345b3b9a58SWarner Losh *(COMMON) 355b3b9a58SWarner Losh } 365b3b9a58SWarner Losh . = ALIGN(4096); 375b3b9a58SWarner Losh __gp = .; 385b3b9a58SWarner Losh .sdata : { 395b3b9a58SWarner Losh *(.got.plt .got) 405b3b9a58SWarner Losh *(.sdata .sdata.* .gnu.linkonce.s.*) 415b3b9a58SWarner Losh *(dynsbss) 425b3b9a58SWarner Losh *(.sbss .sbss.* .gnu.linkonce.sb.*) 435b3b9a58SWarner Losh *(.scommon) 445b3b9a58SWarner Losh } 455b3b9a58SWarner Losh . = ALIGN(4096); 465b3b9a58SWarner Losh .dynamic : { *(.dynamic) } 475b3b9a58SWarner Losh . = ALIGN(4096); 485b3b9a58SWarner Losh .rela.dyn : { 495b3b9a58SWarner Losh *(.rela.data*) 505b3b9a58SWarner Losh *(.rela.got) 515b3b9a58SWarner Losh *(.rela.stab) 525b3b9a58SWarner Losh *(.relaset_*) 535b3b9a58SWarner Losh } 545b3b9a58SWarner Losh . = ALIGN(4096); 555b3b9a58SWarner Losh .reloc : { *(.reloc) } 565b3b9a58SWarner Losh . = ALIGN(4096); 575b3b9a58SWarner Losh .dynsym : { *(.dynsym) } 585b3b9a58SWarner Losh . = ALIGN(4096); 595b3b9a58SWarner Losh .dynstr : { *(.dynstr) } 605b3b9a58SWarner Losh} 61