1206376Srpaulo/* $FreeBSD: releng/11.0/sys/boot/efi/loader/arch/amd64/ldscript.amd64 280950 2015-04-01 08:30:40Z andrew $ */ 2218822SdimOUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd") 3206376SrpauloOUTPUT_ARCH(i386:x86-64) 4206376SrpauloENTRY(_start) 5206376SrpauloSECTIONS 6206376Srpaulo{ 7206376Srpaulo /* Read-only sections, merged into text segment: */ 8206376Srpaulo . = 0; 9206376Srpaulo ImageBase = .; 10264095Semaste .hash : { *(.hash) } /* this MUST come first! */ 11206376Srpaulo . = ALIGN(4096); 12264095Semaste .eh_frame : 13264095Semaste { 14206376Srpaulo *(.eh_frame) 15264095Semaste } 16264095Semaste . = ALIGN(4096); 17206376Srpaulo .text : { 18206376Srpaulo *(.text .stub .text.* .gnu.linkonce.t.*) 19206376Srpaulo /* .gnu.warning sections are handled specially by elf32.em. */ 20206376Srpaulo *(.gnu.warning) 21206376Srpaulo *(.plt) 22206376Srpaulo } =0x00300000010070000002000001000400 23206376Srpaulo . = ALIGN(4096); 24206376Srpaulo .data : { 25206376Srpaulo *(.rodata .rodata.* .gnu.linkonce.r.*) 26206376Srpaulo *(.rodata1) 27206376Srpaulo *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) 28206376Srpaulo *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) 29206376Srpaulo *(.opd) 30206376Srpaulo *(.data .data.* .gnu.linkonce.d.*) 31206376Srpaulo *(.data1) 32206376Srpaulo *(.plabel) 33206376Srpaulo *(.dynbss) 34206376Srpaulo *(.bss .bss.* .gnu.linkonce.b.*) 35206376Srpaulo *(COMMON) 36206376Srpaulo } 37206376Srpaulo . = ALIGN(4096); 38206376Srpaulo set_Xcommand_set : { 39206376Srpaulo __start_set_Xcommand_set = .; 40206376Srpaulo *(set_Xcommand_set) 41206376Srpaulo __stop_set_Xcommand_set = .; 42206376Srpaulo } 43206376Srpaulo . = ALIGN(4096); 44206376Srpaulo __gp = .; 45206376Srpaulo .sdata : { 46206376Srpaulo *(.got.plt .got) 47206376Srpaulo *(.sdata .sdata.* .gnu.linkonce.s.*) 48206376Srpaulo *(dynsbss) 49206376Srpaulo *(.sbss .sbss.* .gnu.linkonce.sb.*) 50206376Srpaulo *(.scommon) 51206376Srpaulo } 52206376Srpaulo . = ALIGN(4096); 53206376Srpaulo .dynamic : { *(.dynamic) } 54206376Srpaulo . = ALIGN(4096); 55244332Srpaulo .rela.dyn : { 56264095Semaste *(.rela.data*) 57244332Srpaulo *(.rela.got) 58264095Semaste *(.rela.stab) 59264095Semaste *(.relaset_*) 60206376Srpaulo } 61206376Srpaulo . = ALIGN(4096); 62206376Srpaulo .reloc : { *(.reloc) } 63206376Srpaulo . = ALIGN(4096); 64206376Srpaulo .dynsym : { *(.dynsym) } 65206376Srpaulo . = ALIGN(4096); 66206376Srpaulo .dynstr : { *(.dynstr) } 67206376Srpaulo} 68