ldscript.amd64 revision 293297
1293297Semaste/* $FreeBSD: stable/10/sys/boot/efi/loader/arch/amd64/ldscript.amd64 293297 2016-01-07 02:22:45Z emaste $ */ 2293297SemasteOUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd") 3293297SemasteOUTPUT_ARCH(i386:x86-64) 4293297SemasteENTRY(_start) 5293297SemasteSECTIONS 6293297Semaste{ 7293297Semaste /* Read-only sections, merged into text segment: */ 8293297Semaste . = 0; 9293297Semaste ImageBase = .; 10293297Semaste .hash : { *(.hash) } /* this MUST come first! */ 11293297Semaste . = ALIGN(4096); 12293297Semaste .eh_frame : 13293297Semaste { 14293297Semaste *(.eh_frame) 15293297Semaste } 16293297Semaste . = ALIGN(4096); 17293297Semaste .text : { 18293297Semaste *(.text .stub .text.* .gnu.linkonce.t.*) 19293297Semaste /* .gnu.warning sections are handled specially by elf32.em. */ 20293297Semaste *(.gnu.warning) 21293297Semaste *(.plt) 22293297Semaste } =0x00300000010070000002000001000400 23293297Semaste . = ALIGN(4096); 24293297Semaste .data : { 25293297Semaste *(.rodata .rodata.* .gnu.linkonce.r.*) 26293297Semaste *(.rodata1) 27293297Semaste *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) 28293297Semaste *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) 29293297Semaste *(.opd) 30293297Semaste *(.data .data.* .gnu.linkonce.d.*) 31293297Semaste *(.data1) 32293297Semaste *(.plabel) 33293297Semaste *(.dynbss) 34293297Semaste *(.bss .bss.* .gnu.linkonce.b.*) 35293297Semaste *(COMMON) 36293297Semaste } 37293297Semaste . = ALIGN(4096); 38293297Semaste set_Xcommand_set : { 39293297Semaste __start_set_Xcommand_set = .; 40293297Semaste *(set_Xcommand_set) 41293297Semaste __stop_set_Xcommand_set = .; 42293297Semaste } 43293297Semaste . = ALIGN(4096); 44293297Semaste __gp = .; 45293297Semaste .sdata : { 46293297Semaste *(.got.plt .got) 47293297Semaste *(.sdata .sdata.* .gnu.linkonce.s.*) 48293297Semaste *(dynsbss) 49293297Semaste *(.sbss .sbss.* .gnu.linkonce.sb.*) 50293297Semaste *(.scommon) 51293297Semaste } 52293297Semaste . = ALIGN(4096); 53293297Semaste .dynamic : { *(.dynamic) } 54293297Semaste . = ALIGN(4096); 55293297Semaste .rela.dyn : { 56293297Semaste *(.rela.data*) 57293297Semaste *(.rela.got) 58293297Semaste *(.rela.stab) 59293297Semaste *(.relaset_*) 60293297Semaste } 61293297Semaste . = ALIGN(4096); 62293297Semaste .reloc : { *(.reloc) } 63293297Semaste . = ALIGN(4096); 64293297Semaste .dynsym : { *(.dynsym) } 65293297Semaste . = ALIGN(4096); 66293297Semaste .dynstr : { *(.dynstr) } 67293297Semaste} 68