/* $NetBSD: kern-mb.ldscript,v 1.4 2015/08/24 08:13:07 uebayasi Exp $ */

/*  ldscript for NetBSD/powerpc kernels and LKMs */
OUTPUT_ARCH(powerpc)
ENTRY(_start)
/* Do we need any of these?
  __DYNAMIC = 0;    */
_DYNAMIC_LINK = 0;
SECTIONS
{
 /*  Read-only sections, merged into text segment.  Assumes the
     kernel Makefile sets the start address via -Ttext.  */
 .text      :
 {
   _ftext = . ;
   *(.text)
   __stub_start = .;
   *(.stub)
   __stub_end = .;
   __stub_pmap_start = .;
   *(.stub.pmap)
   __stub_pmap_end = .;
   *(.gnu.warning)
 } =0
 _etext = .;
 PROVIDE (etext = .);
 .rodata    : { *(.rodata) *(.rodata.*) }
 .reginfo : { *(.reginfo) }
 . = ALIGN(0x100000);
 .data    :
 {
   _fdata = . ;
   *(.data)
   CONSTRUCTORS
 }
 .data1                        : { *(.data1) }
 . = ALIGN(32);        /* COHERENCY UNIT */
 .data.cacheline_aligned       : { *(.data.cacheline_aligned) }
 . = ALIGN(32);        /* COHERENCY UNIT */
 .data.read_mostly             : { *(.data.read_mostly) }
 . = ALIGN(32);        /* COHERENCY UNIT */
 _gp = ALIGN(16) + 0x7ff0;
 .lit8 : { *(.lit8) }
 .lit4 : { *(.lit4) }
 .sdata     : { *(.sdata) }
 _edata  =  .;
 PROVIDE (edata = .);
 __bss_start = .;
 _fbss = .;
 .sbss      : { *(.sbss) *(.scommon) }
 .bss       :
 {
   *(.bss)
   *(COMMON)
 }
 _end = . ;
 PROVIDE (end = .);
}