11.2Schristos/*	$NetBSD: ldscript,v 1.2 2018/12/24 18:21:50 christos Exp $	*/
21.1Snonaka/* Same as elf_x86_64_fbsd_efi.lds, except for OUTPUT_FORMAT below - KEEP IN SYNC */
31.1SnonakaOUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
41.1SnonakaOUTPUT_ARCH(i386:x86-64)
51.1SnonakaENTRY(_start)
61.2Schristos
71.2SchristosPHDRS
81.2Schristos{
91.2Schristos  text PT_LOAD;
101.2Schristos  headers PT_PHDR FILEHDR PHDRS;
111.2Schristos}
121.2Schristos
131.1SnonakaSECTIONS
141.1Snonaka{
151.1Snonaka  . = 0;
161.1Snonaka  ImageBase = .;
171.1Snonaka  .hash : { *(.hash) }	/* this MUST come first! */
181.1Snonaka  . = ALIGN(4096);
191.1Snonaka  .eh_frame :
201.1Snonaka  {
211.1Snonaka    *(.eh_frame)
221.1Snonaka  }
231.1Snonaka  . = ALIGN(4096);
241.1Snonaka  .text :
251.1Snonaka  {
261.1Snonaka   *(.text)
271.1Snonaka   *(.text.*)
281.1Snonaka   *(.gnu.linkonce.t.*)
291.2Schristos  } :text
301.1Snonaka  . = ALIGN(4096);
311.1Snonaka  .reloc :
321.1Snonaka  {
331.1Snonaka   *(.reloc)
341.1Snonaka  }
351.1Snonaka  . = ALIGN(4096);
361.1Snonaka  .data :
371.1Snonaka  {
381.1Snonaka   *(.rodata*)
391.1Snonaka   *(.got.plt)
401.1Snonaka   *(.got)
411.1Snonaka   *(.data*)
421.1Snonaka   *(.sdata)
431.1Snonaka   /* the EFI loader doesn't seem to like a .bss section, so we stick
441.1Snonaka      it all into .data: */
451.1Snonaka   *(.sbss)
461.1Snonaka   *(.scommon)
471.1Snonaka   *(.dynbss)
481.1Snonaka   *(.bss)
491.1Snonaka   *(COMMON)
501.1Snonaka   *(.rel.local)
511.1Snonaka  }
521.1Snonaka  . = ALIGN(4096);
531.1Snonaka  .dynamic  : { *(.dynamic) }
541.1Snonaka  . = ALIGN(4096);
551.1Snonaka  .rela :
561.1Snonaka  {
571.1Snonaka    *(.rela.data*)
581.1Snonaka    *(.rela.got)
591.1Snonaka    *(.rela.stab)
601.1Snonaka  }
611.1Snonaka  . = ALIGN(4096);
621.1Snonaka  .dynsym   : { *(.dynsym) }
631.1Snonaka  . = ALIGN(4096);
641.1Snonaka  .dynstr   : { *(.dynstr) }
651.1Snonaka  . = ALIGN(4096);
661.1Snonaka  .ignored.reloc :
671.1Snonaka  {
681.1Snonaka    *(.rela.reloc)
691.1Snonaka    *(.eh_frame)
701.1Snonaka    *(.note.GNU-stack)
711.1Snonaka  }
721.1Snonaka  .comment 0 : { *(.comment) }
731.1Snonaka}
74