ldscript revision 1.2
11.2Schristos/*	$NetBSD: ldscript,v 1.2 2018/12/24 18:21:50 christos Exp $	*/
21.1SnonakaOUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
31.1SnonakaOUTPUT_ARCH(i386)
41.1SnonakaENTRY(_start)
51.2Schristos
61.2SchristosPHDRS
71.2Schristos{
81.2Schristos  text PT_LOAD;
91.2Schristos  headers PT_PHDR FILEHDR PHDRS;
101.2Schristos}
111.2Schristos
121.1SnonakaSECTIONS
131.1Snonaka{
141.1Snonaka  . = 0;
151.1Snonaka  ImageBase = .;
161.1Snonaka  .hash : { *(.hash) }	/* this MUST come first! */
171.1Snonaka  . = ALIGN(4096);
181.1Snonaka  .text :
191.1Snonaka  {
201.1Snonaka   *(.text)
211.1Snonaka   *(.text.*)
221.1Snonaka   *(.gnu.linkonce.t.*)
231.2Schristos  } :text
241.1Snonaka  . = ALIGN(4096);
251.1Snonaka  .sdata :
261.1Snonaka  {
271.1Snonaka   *(.got.plt)
281.1Snonaka   *(.got)
291.1Snonaka   *(.srodata)
301.1Snonaka   *(.sdata)
311.1Snonaka   *(.sbss)
321.1Snonaka   *(.scommon)
331.1Snonaka  }
341.1Snonaka  . = ALIGN(4096);
351.1Snonaka  .data :
361.1Snonaka  {
371.1Snonaka   *(.rodata*)
381.1Snonaka   *(.data)
391.1Snonaka   *(.data1)
401.1Snonaka   *(.data.*)
411.1Snonaka   *(.sdata)
421.1Snonaka   *(.got.plt)
431.1Snonaka   *(.got)
441.1Snonaka   /* the EFI loader doesn't seem to like a .bss section, so we stick
451.1Snonaka      it all into .data: */
461.1Snonaka   *(.sbss)
471.1Snonaka   *(.scommon)
481.1Snonaka   *(.dynbss)
491.1Snonaka   *(.bss)
501.1Snonaka   *(COMMON)
511.1Snonaka  }
521.1Snonaka  . = ALIGN(4096);
531.1Snonaka  .dynamic  : { *(.dynamic) }
541.1Snonaka  . = ALIGN(4096);
551.1Snonaka  .rel :
561.1Snonaka  {
571.1Snonaka    *(.rel.data)
581.1Snonaka    *(.rel.data.*)
591.1Snonaka    *(.rel.got)
601.1Snonaka    *(.rel.stab)
611.1Snonaka    *(.data.rel.ro.local)
621.1Snonaka    *(.data.rel.local)
631.1Snonaka    *(.data.rel.ro)
641.1Snonaka    *(.data.rel*)
651.1Snonaka  }
661.1Snonaka  . = ALIGN(4096);
671.1Snonaka  .reloc :		/* This is the PECOFF .reloc section! */
681.1Snonaka  {
691.1Snonaka    *(.reloc)
701.1Snonaka  }
711.1Snonaka  . = ALIGN(4096);
721.1Snonaka  .dynsym   : { *(.dynsym) }
731.1Snonaka  . = ALIGN(4096);
741.1Snonaka  .dynstr   : { *(.dynstr) }
751.1Snonaka  . = ALIGN(4096);
761.1Snonaka  /DISCARD/ :
771.1Snonaka  {
781.1Snonaka    *(.rel.reloc)
791.1Snonaka    *(.eh_frame)
801.1Snonaka    *(.note.GNU-stack)
811.1Snonaka  }
821.1Snonaka  .comment 0 : { *(.comment) }
831.1Snonaka}
84