1135549Sdes/* $FreeBSD: stable/11/stand/efi/loader/arch/arm64/ldscript.arm64 329011 2018-02-08 02:50:47Z kevans $ */ 2135549Sdes/* 3135549SdesOUTPUT_FORMAT("elf64-aarch64-freebsd", "elf64-aarch64-freebsd", "elf64-aarch64-freebsd") 4218384Sdougb*/ 5135549SdesOUTPUT_ARCH(aarch64) 6135549SdesENTRY(_start) 7135549SdesSECTIONS 8135549Sdes{ 9135549Sdes /* Read-only sections, merged into text segment: */ 10135549Sdes . = 0; 11135549Sdes ImageBase = .; 12135549Sdes .text : { 13135549Sdes *(.peheader) 14135549Sdes *(.text .stub .text.* .gnu.linkonce.t.*) 15135549Sdes /* .gnu.warning sections are handled specially by elf32.em. */ 16135549Sdes *(.gnu.warning) 17135549Sdes *(.plt) 18135549Sdes } =0xD4200000 19135549Sdes . = ALIGN(16); 20135549Sdes .data : { 21135549Sdes *(.rodata .rodata.* .gnu.linkonce.r.*) 22135549Sdes *(.rodata1) 23135549Sdes *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) 24135549Sdes *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) 25135549Sdes *(.opd) 26135549Sdes *(.data .data.* .gnu.linkonce.d.*) 27170224Sdougb *(.data1) 28170224Sdougb *(.plabel) 29135549Sdes 30135549Sdes . = ALIGN(16); 31135549Sdes __bss_start = .; 32135549Sdes *(.sbss .sbss.* .gnu.linkonce.sb.*) 33135549Sdes *(.scommon) 34135549Sdes *(.dynbss) 35135549Sdes *(.bss *.bss.*) 36135549Sdes *(COMMON) 37135549Sdes . = ALIGN(16); 38135549Sdes __bss_end = .; 39135549Sdes } 40135549Sdes . = ALIGN(16); 41135549Sdes set_Xcommand_set : { 42135549Sdes __start_set_Xcommand_set = .; 43135549Sdes *(set_Xcommand_set) 44135549Sdes __stop_set_Xcommand_set = .; 45135549Sdes } 46135549Sdes set_Xficl_compile_set : { 47135549Sdes __start_set_Xficl_compile_set = .; 48135549Sdes *(set_Xficl_compile_set) 49135549Sdes __stop_set_Xficl_compile_set = .; 50135549Sdes } 51135549Sdes . = ALIGN(16); 52135549Sdes __gp = .; 53135549Sdes .sdata : { 54135549Sdes *(.got.plt .got) 55135549Sdes *(.sdata .sdata.* .gnu.linkonce.s.*) 56135549Sdes *(dynsbss) 57135549Sdes *(.scommon) 58135549Sdes } 59135549Sdes . = ALIGN(16); 60135549Sdes .dynamic : { *(.dynamic) } 61135549Sdes . = ALIGN(16); 62135549Sdes .rela.dyn : { 63135549Sdes *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) 64135549Sdes *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) 65135549Sdes *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) 66135549Sdes *(.rela.got) 67135549Sdes *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) 68135549Sdes *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*) 69135549Sdes *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) 70135549Sdes *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) 71135549Sdes *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) 72135549Sdes *(.rela.plt) 73135549Sdes *(.relset_*) 74170224Sdougb *(.rela.dyn .rela.dyn.*) 75135549Sdes } 76135549Sdes . = ALIGN(16); 77135549Sdes .reloc : { *(.reloc) } 78193149Sdougb . = ALIGN(16); 79193149Sdougb .dynsym : { *(.dynsym) } 80193149Sdougb _edata = .; 81224093Sdougb 82170224Sdougb /* Unused sections */ 83135549Sdes .dynstr : { *(.dynstr) } 84135549Sdes .hash : { *(.hash) } 85135549Sdes} 86165077Sdougb