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