kern.ldscript revision 1.11
11.8Suebayasi/* $NetBSD: kern.ldscript,v 1.11 2015/08/25 08:08:12 uebayasi Exp $ */
21.1Sjonathan
31.11Suebayasi#include "assym.h"
41.11Suebayasi
51.4Ssimonb/*  ldscript for NetBSD/mips kernels and LKMs */
61.1SjonathanOUTPUT_ARCH(mips)
71.1SjonathanENTRY(_start)
81.1Sjonathan/* Do we need any of these?
91.1Sjonathan   __DYNAMIC = 0;    */
101.1Sjonathan_DYNAMIC_LINK = 0;
111.1SjonathanSECTIONS
121.1Sjonathan{
131.2Sjonathan  /*  Read-only sections, merged into text segment.  Assumes the
141.2Sjonathan      kernel Makefile sets the start address via -Ttext.  */
151.1Sjonathan  .text      :
161.1Sjonathan  {
171.1Sjonathan    _ftext = . ;
181.1Sjonathan    *(.text)
191.6Smatt    __stub_start = . ;
201.6Smatt    *(.stub*)
211.6Smatt    __stub_end = . ;
221.1Sjonathan    *(.gnu.warning)
231.1Sjonathan  } =0
241.1Sjonathan  _etext = .;
251.1Sjonathan  PROVIDE (etext = .);
261.5Stsutsui  .rodata    : { *(.rodata) *(.rodata.*) }
271.1Sjonathan  .reginfo : { *(.reginfo) }
281.4Ssimonb/*  . = . + 0x1000; */
291.1Sjonathan  .data    :
301.1Sjonathan  {
311.1Sjonathan    _fdata = . ;
321.1Sjonathan    *(.data)
331.1Sjonathan    CONSTRUCTORS
341.11Suebayasi    . = ALIGN(COHERENCY_UNIT);
351.8Suebayasi    *(.data.cacheline_aligned)
361.11Suebayasi    . = ALIGN(COHERENCY_UNIT);
371.8Suebayasi    *(.data.read_mostly)
381.11Suebayasi    . = ALIGN(COHERENCY_UNIT);
391.1Sjonathan  }
401.1Sjonathan  _gp = ALIGN(16) + 0x7ff0;
411.1Sjonathan  .lit8 : { *(.lit8) }
421.1Sjonathan  .lit4 : { *(.lit4) }
431.1Sjonathan  .sdata     : { *(.sdata) }
441.1Sjonathan  _edata  =  .;
451.1Sjonathan  PROVIDE (edata = .);
461.1Sjonathan  __bss_start = .;
471.1Sjonathan  _fbss = .;
481.1Sjonathan  .sbss      : { *(.sbss) *(.scommon) }
491.1Sjonathan  .bss       :
501.1Sjonathan  {
511.8Suebayasi    *(.bss)
521.8Suebayasi    *(COMMON)
531.1Sjonathan  }
541.1Sjonathan  _end = . ;
551.1Sjonathan  PROVIDE (end = .);
561.1Sjonathan}
57