xref: /netbsd-src/sys/arch/powerpc/conf/kern-mb.ldscript (revision ce93b3da5702ce1edf4d46f9fb716f53daf32f23)
1*ce93b3daSuebayasi/* $NetBSD: kern-mb.ldscript,v 1.4 2015/08/24 08:13:07 uebayasi Exp $ */
24155ad0cSmatt
34155ad0cSmatt/*  ldscript for NetBSD/powerpc kernels and LKMs */
44155ad0cSmattOUTPUT_ARCH(powerpc)
54155ad0cSmattENTRY(_start)
64155ad0cSmatt/* Do we need any of these?
74155ad0cSmatt   __DYNAMIC = 0;    */
84155ad0cSmatt_DYNAMIC_LINK = 0;
94155ad0cSmattSECTIONS
104155ad0cSmatt{
114155ad0cSmatt  /*  Read-only sections, merged into text segment.  Assumes the
124155ad0cSmatt      kernel Makefile sets the start address via -Ttext.  */
134155ad0cSmatt  .text      :
144155ad0cSmatt  {
154155ad0cSmatt    _ftext = . ;
164155ad0cSmatt    *(.text)
174155ad0cSmatt    __stub_start = .;
184155ad0cSmatt    *(.stub)
194155ad0cSmatt    __stub_end = .;
204155ad0cSmatt    __stub_pmap_start = .;
214155ad0cSmatt    *(.stub.pmap)
224155ad0cSmatt    __stub_pmap_end = .;
234155ad0cSmatt    *(.gnu.warning)
244155ad0cSmatt  } =0
254155ad0cSmatt  _etext = .;
264155ad0cSmatt  PROVIDE (etext = .);
274155ad0cSmatt  .rodata    : { *(.rodata) *(.rodata.*) }
284155ad0cSmatt  .reginfo : { *(.reginfo) }
294155ad0cSmatt  . = ALIGN(0x100000);
304155ad0cSmatt  .data    :
314155ad0cSmatt  {
324155ad0cSmatt    _fdata = . ;
334155ad0cSmatt    *(.data)
344155ad0cSmatt    CONSTRUCTORS
354155ad0cSmatt  }
364155ad0cSmatt  .data1			: { *(.data1) }
374155ad0cSmatt  . = ALIGN(32);	/* COHERENCY UNIT */
384155ad0cSmatt  .data.cacheline_aligned	: { *(.data.cacheline_aligned) }
394155ad0cSmatt  . = ALIGN(32);	/* COHERENCY UNIT */
404155ad0cSmatt  .data.read_mostly		: { *(.data.read_mostly) }
414155ad0cSmatt  . = ALIGN(32);	/* COHERENCY UNIT */
424155ad0cSmatt  _gp = ALIGN(16) + 0x7ff0;
434155ad0cSmatt  .lit8 : { *(.lit8) }
444155ad0cSmatt  .lit4 : { *(.lit4) }
454155ad0cSmatt  .sdata     : { *(.sdata) }
464155ad0cSmatt  _edata  =  .;
474155ad0cSmatt  PROVIDE (edata = .);
484155ad0cSmatt  __bss_start = .;
494155ad0cSmatt  _fbss = .;
504155ad0cSmatt  .sbss      : { *(.sbss) *(.scommon) }
514155ad0cSmatt  .bss       :
524155ad0cSmatt  {
534155ad0cSmatt    *(.bss)
544155ad0cSmatt    *(COMMON)
554155ad0cSmatt  }
564155ad0cSmatt  _end = . ;
574155ad0cSmatt  PROVIDE (end = .);
584155ad0cSmatt}
59