15b3b9a58SWarner Losh/* 25b3b9a58SWarner LoshOUTPUT_FORMAT("elf64-aarch64-freebsd", "elf64-aarch64-freebsd", "elf64-aarch64-freebsd") 35b3b9a58SWarner Losh*/ 45b3b9a58SWarner LoshOUTPUT_ARCH(aarch64) 55b3b9a58SWarner LoshENTRY(_start) 65b3b9a58SWarner LoshSECTIONS 75b3b9a58SWarner Losh{ 85b3b9a58SWarner Losh /* Read-only sections, merged into text segment: */ 95b3b9a58SWarner Losh . = 0; 105b3b9a58SWarner Losh ImageBase = .; 115b3b9a58SWarner Losh .text : { 125b3b9a58SWarner Losh *(.peheader) 135b3b9a58SWarner Losh *(.text .stub .text.* .gnu.linkonce.t.*) 145b3b9a58SWarner Losh /* .gnu.warning sections are handled specially by elf32.em. */ 155b3b9a58SWarner Losh *(.gnu.warning) 165b3b9a58SWarner Losh *(.plt) 175b3b9a58SWarner Losh } =0xD4200000 185b3b9a58SWarner Losh . = ALIGN(4096); 195b3b9a58SWarner Losh _etext = .; 205b3b9a58SWarner Losh __data_start = .; 215b3b9a58SWarner Losh .data : { 225b3b9a58SWarner Losh *(.rodata .rodata.* .gnu.linkonce.r.*) 235b3b9a58SWarner Losh *(.rodata1) 245b3b9a58SWarner Losh *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) 255b3b9a58SWarner Losh *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) 265b3b9a58SWarner Losh *(.opd) 275b3b9a58SWarner Losh *(.data .data.* .gnu.linkonce.d.*) 285b3b9a58SWarner Losh *(.data1) 295b3b9a58SWarner Losh *(.plabel) 305b3b9a58SWarner Losh 315b3b9a58SWarner Losh . = ALIGN(16); 325b3b9a58SWarner Losh __bss_start = .; 335b3b9a58SWarner Losh *(.sbss .sbss.* .gnu.linkonce.sb.*) 345b3b9a58SWarner Losh *(.scommon) 355b3b9a58SWarner Losh *(.dynbss) 365b3b9a58SWarner Losh *(.bss *.bss.*) 375b3b9a58SWarner Losh *(COMMON) 385b3b9a58SWarner Losh . = ALIGN(16); 395b3b9a58SWarner Losh __bss_end = .; 405b3b9a58SWarner Losh } 415b3b9a58SWarner Losh . = ALIGN(16); 425b3b9a58SWarner Losh __gp = .; 435b3b9a58SWarner Losh .sdata : { 445b3b9a58SWarner Losh *(.got.plt .got) 455b3b9a58SWarner Losh *(.sdata .sdata.* .gnu.linkonce.s.*) 465b3b9a58SWarner Losh *(dynsbss) 475b3b9a58SWarner Losh *(.scommon) 485b3b9a58SWarner Losh } 495b3b9a58SWarner Losh . = ALIGN(16); 505b3b9a58SWarner Losh .dynamic : { *(.dynamic) } 515b3b9a58SWarner Losh . = ALIGN(16); 525b3b9a58SWarner Losh .rela.dyn : { 535b3b9a58SWarner Losh *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) 545b3b9a58SWarner Losh *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) 555b3b9a58SWarner Losh *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) 565b3b9a58SWarner Losh *(.rela.got) 575b3b9a58SWarner Losh *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) 585b3b9a58SWarner Losh *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*) 595b3b9a58SWarner Losh *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) 605b3b9a58SWarner Losh *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) 615b3b9a58SWarner Losh *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) 625b3b9a58SWarner Losh *(.rela.plt) 635b3b9a58SWarner Losh *(.relset_*) 645b3b9a58SWarner Losh *(.rela.dyn .rela.dyn.*) 655b3b9a58SWarner Losh } 665b3b9a58SWarner Losh . = ALIGN(16); 675b3b9a58SWarner Losh .reloc : { *(.reloc) } 685b3b9a58SWarner Losh . = ALIGN(16); 695b3b9a58SWarner Losh .dynsym : { *(.dynsym) } 705b3b9a58SWarner Losh _edata = .; 71*9f44638eSAndrew Turner __data_size = ABSOLUTE(. - __data_start); 725b3b9a58SWarner Losh 735b3b9a58SWarner Losh /* Unused sections */ 745b3b9a58SWarner Losh .interp : { *(.interp) } 755b3b9a58SWarner Losh .dynstr : { *(.dynstr) } 765b3b9a58SWarner Losh .hash : { *(.hash) } 775b3b9a58SWarner Losh} 78