kern.ldscript revision 1.13
11.12Suebayasi/*	$NetBSD: kern.ldscript,v 1.13 2015/08/20 09:34:54 uebayasi Exp $	*/
21.1Sthorpej
31.1SthorpejOUTPUT_FORMAT("elf32-i386", "elf32-i386",
41.1Sthorpej	      "elf32-i386")
51.1SthorpejOUTPUT_ARCH(i386)
61.1SthorpejENTRY(_start)
71.1SthorpejSECTIONS
81.1Sthorpej{
91.12Suebayasi  /* Read-only sections, merged into text segment: */
101.12Suebayasi  .text :
111.12Suebayasi  {
121.12Suebayasi    *(.text)
131.12Suebayasi    *(.text.*)
141.12Suebayasi    *(.stub)
151.13Suebayasi  }
161.12Suebayasi  _etext = . ;
171.12Suebayasi  PROVIDE (etext = .) ;
181.5Spavel
191.12Suebayasi  .rodata :
201.12Suebayasi  {
211.12Suebayasi    *(.rodata)
221.12Suebayasi    *(.rodata.*)
231.12Suebayasi  }
241.9Schs
251.12Suebayasi  /* Adjust the address for the data segment.  We want to adjust up to
261.12Suebayasi     the same address within the page on the next page up.  */
271.12Suebayasi  . = ALIGN(0x1000) + (. & (0x1000 - 1));
281.12Suebayasi  __data_start = . ;
291.12Suebayasi  .data :
301.12Suebayasi  {
311.12Suebayasi    *(.data)
321.12Suebayasi  }
331.12Suebayasi  . = ALIGN(64);	/* COHERENCY_UNIT */
341.12Suebayasi  .data.cacheline_aligned :
351.12Suebayasi  {
361.12Suebayasi    *(.data.cacheline_aligned)
371.12Suebayasi  }
381.12Suebayasi  . = ALIGN(64);	/* COHERENCY_UNIT */
391.12Suebayasi  .data.read_mostly :
401.12Suebayasi  {
411.12Suebayasi    *(.data.read_mostly)
421.12Suebayasi  }
431.12Suebayasi  . = ALIGN(64);	/* COHERENCY_UNIT */
441.12Suebayasi  _edata = . ;
451.12Suebayasi  PROVIDE (edata = .) ;
461.12Suebayasi  __bss_start = . ;
471.12Suebayasi  .bss :
481.12Suebayasi  {
491.12Suebayasi    *(.bss)
501.12Suebayasi    *(.bss.*)
511.12Suebayasi    *(COMMON)
521.12Suebayasi    . = ALIGN(32 / 8);
531.12Suebayasi  }
541.12Suebayasi  . = ALIGN(32 / 8);
551.1Sthorpej  _end = . ;
561.5Spavel  PROVIDE (end = .) ;
571.6Schristos  .note.netbsd.ident :
581.6Schristos  {
591.6Schristos    KEEP(*(.note.netbsd.ident));
601.6Schristos  }
611.1Sthorpej}
621.13SuebayasiSECTIONS
631.13Suebayasi{
641.13Suebayasi  .text :
651.13Suebayasi  AT (ADDR(.text) & 0x0fffffff)
661.13Suebayasi  {
671.13Suebayasi    *(.text)
681.13Suebayasi  } =0
691.13Suebayasi}
70