kern.ldscript revision 1.15
11.9Suebayasi/*	$NetBSD: kern.ldscript,v 1.15 2015/08/25 08:07:24 uebayasi Exp $	*/
21.1Sfvdl
31.15Suebayasi#include "assym.h"
41.15Suebayasi
51.1SfvdlENTRY(_start)
61.1SfvdlSECTIONS
71.1Sfvdl{
81.10Suebayasi  /* Read-only sections, merged into text segment: */
91.10Suebayasi  .text :
101.10Suebayasi  {
111.10Suebayasi    *(.text)
121.10Suebayasi    *(.text.*)
131.10Suebayasi    *(.stub)
141.12Suebayasi  }
151.10Suebayasi  _etext = . ;
161.10Suebayasi  PROVIDE (etext = .) ;
171.2Schristos
181.10Suebayasi  .rodata :
191.10Suebayasi  {
201.10Suebayasi    *(.rodata)
211.10Suebayasi    *(.rodata.*)
221.10Suebayasi  }
231.9Suebayasi
241.10Suebayasi  /* Adjust the address for the data segment.  We want to adjust up to
251.10Suebayasi     the same address within the page on the next page up.  */
261.10Suebayasi  . = ALIGN(0x100000) + (. & (0x100000 - 1));
271.10Suebayasi  __data_start = . ;
281.10Suebayasi  .data :
291.10Suebayasi  {
301.10Suebayasi    *(.data)
311.10Suebayasi  }
321.8Suebayasi
331.14Suebayasi  . = ALIGN(COHERENCY_UNIT);
341.10Suebayasi  .data.cacheline_aligned :
351.10Suebayasi  {
361.10Suebayasi    *(.data.cacheline_aligned)
371.10Suebayasi  }
381.14Suebayasi  . = ALIGN(COHERENCY_UNIT);
391.10Suebayasi  .data.read_mostly :
401.10Suebayasi  {
411.10Suebayasi    *(.data.read_mostly)
421.10Suebayasi  }
431.14Suebayasi  . = ALIGN(COHERENCY_UNIT);
441.8Suebayasi
451.10Suebayasi  _edata = . ;
461.10Suebayasi  PROVIDE (edata = .) ;
471.10Suebayasi  __bss_start = . ;
481.10Suebayasi  .bss :
491.10Suebayasi  {
501.10Suebayasi    *(.bss)
511.10Suebayasi    *(.bss.*)
521.10Suebayasi    *(COMMON)
531.10Suebayasi    . = ALIGN(64 / 8);
541.10Suebayasi  }
551.10Suebayasi  . = ALIGN(64 / 8);
561.2Schristos  _end = . ;
571.2Schristos  PROVIDE (end = .) ;
581.2Schristos  .note.netbsd.ident :
591.1Sfvdl  {
601.2Schristos    KEEP(*(.note.netbsd.ident));
611.1Sfvdl  }
621.1Sfvdl}
631.11SuebayasiSECTIONS
641.11Suebayasi{
651.11Suebayasi  .text :
661.11Suebayasi  AT (ADDR(.text) & 0x0fffffff)
671.11Suebayasi  {
681.11Suebayasi    *(.text)
691.11Suebayasi  } =0
701.11Suebayasi}
71