11.2Suebayasi/* $NetBSD: kern-mb.ldscript,v 1.4 2015/08/24 08:13:07 uebayasi Exp $ */
21.1Smatt
31.1Smatt/*  ldscript for NetBSD/powerpc kernels and LKMs */
41.1SmattOUTPUT_ARCH(powerpc)
51.1SmattENTRY(_start)
61.1Smatt/* Do we need any of these?
71.1Smatt   __DYNAMIC = 0;    */
81.1Smatt_DYNAMIC_LINK = 0;
91.1SmattSECTIONS
101.1Smatt{
111.1Smatt  /*  Read-only sections, merged into text segment.  Assumes the
121.1Smatt      kernel Makefile sets the start address via -Ttext.  */
131.1Smatt  .text      :
141.1Smatt  {
151.1Smatt    _ftext = . ;
161.1Smatt    *(.text)
171.1Smatt    __stub_start = .;
181.1Smatt    *(.stub)
191.1Smatt    __stub_end = .;
201.1Smatt    __stub_pmap_start = .;
211.1Smatt    *(.stub.pmap)
221.1Smatt    __stub_pmap_end = .;
231.1Smatt    *(.gnu.warning)
241.1Smatt  } =0
251.1Smatt  _etext = .;
261.1Smatt  PROVIDE (etext = .);
271.1Smatt  .rodata    : { *(.rodata) *(.rodata.*) }
281.1Smatt  .reginfo : { *(.reginfo) }
291.1Smatt  . = ALIGN(0x100000);
301.1Smatt  .data    :
311.1Smatt  {
321.1Smatt    _fdata = . ;
331.1Smatt    *(.data)
341.1Smatt    CONSTRUCTORS
351.1Smatt  }
361.1Smatt  .data1			: { *(.data1) }
371.1Smatt  . = ALIGN(32);	/* COHERENCY UNIT */
381.1Smatt  .data.cacheline_aligned	: { *(.data.cacheline_aligned) }
391.1Smatt  . = ALIGN(32);	/* COHERENCY UNIT */
401.1Smatt  .data.read_mostly		: { *(.data.read_mostly) }
411.1Smatt  . = ALIGN(32);	/* COHERENCY UNIT */
421.1Smatt  _gp = ALIGN(16) + 0x7ff0;
431.1Smatt  .lit8 : { *(.lit8) }
441.1Smatt  .lit4 : { *(.lit4) }
451.1Smatt  .sdata     : { *(.sdata) }
461.1Smatt  _edata  =  .;
471.1Smatt  PROVIDE (edata = .);
481.1Smatt  __bss_start = .;
491.1Smatt  _fbss = .;
501.1Smatt  .sbss      : { *(.sbss) *(.scommon) }
511.1Smatt  .bss       :
521.1Smatt  {
531.2Suebayasi    *(.bss)
541.2Suebayasi    *(COMMON)
551.1Smatt  }
561.1Smatt  _end = . ;
571.1Smatt  PROVIDE (end = .);
581.1Smatt}
59