Home | History | Annotate | Line # | Download | only in conf
kern.ldscript revision 1.15
      1   1.9  uebayasi /*	$NetBSD: kern.ldscript,v 1.15 2015/08/25 08:07:24 uebayasi Exp $	*/
      2   1.1      fvdl 
      3  1.15  uebayasi #include "assym.h"
      4  1.15  uebayasi 
      5   1.1      fvdl ENTRY(_start)
      6   1.1      fvdl SECTIONS
      7   1.1      fvdl {
      8  1.10  uebayasi   /* Read-only sections, merged into text segment: */
      9  1.10  uebayasi   .text :
     10  1.10  uebayasi   {
     11  1.10  uebayasi     *(.text)
     12  1.10  uebayasi     *(.text.*)
     13  1.10  uebayasi     *(.stub)
     14  1.12  uebayasi   }
     15  1.10  uebayasi   _etext = . ;
     16  1.10  uebayasi   PROVIDE (etext = .) ;
     17   1.2  christos 
     18  1.10  uebayasi   .rodata :
     19  1.10  uebayasi   {
     20  1.10  uebayasi     *(.rodata)
     21  1.10  uebayasi     *(.rodata.*)
     22  1.10  uebayasi   }
     23   1.9  uebayasi 
     24  1.10  uebayasi   /* Adjust the address for the data segment.  We want to adjust up to
     25  1.10  uebayasi      the same address within the page on the next page up.  */
     26  1.10  uebayasi   . = ALIGN(0x100000) + (. & (0x100000 - 1));
     27  1.10  uebayasi   __data_start = . ;
     28  1.10  uebayasi   .data :
     29  1.10  uebayasi   {
     30  1.10  uebayasi     *(.data)
     31  1.10  uebayasi   }
     32   1.8  uebayasi 
     33  1.14  uebayasi   . = ALIGN(COHERENCY_UNIT);
     34  1.10  uebayasi   .data.cacheline_aligned :
     35  1.10  uebayasi   {
     36  1.10  uebayasi     *(.data.cacheline_aligned)
     37  1.10  uebayasi   }
     38  1.14  uebayasi   . = ALIGN(COHERENCY_UNIT);
     39  1.10  uebayasi   .data.read_mostly :
     40  1.10  uebayasi   {
     41  1.10  uebayasi     *(.data.read_mostly)
     42  1.10  uebayasi   }
     43  1.14  uebayasi   . = ALIGN(COHERENCY_UNIT);
     44   1.8  uebayasi 
     45  1.10  uebayasi   _edata = . ;
     46  1.10  uebayasi   PROVIDE (edata = .) ;
     47  1.10  uebayasi   __bss_start = . ;
     48  1.10  uebayasi   .bss :
     49  1.10  uebayasi   {
     50  1.10  uebayasi     *(.bss)
     51  1.10  uebayasi     *(.bss.*)
     52  1.10  uebayasi     *(COMMON)
     53  1.10  uebayasi     . = ALIGN(64 / 8);
     54  1.10  uebayasi   }
     55  1.10  uebayasi   . = ALIGN(64 / 8);
     56   1.2  christos   _end = . ;
     57   1.2  christos   PROVIDE (end = .) ;
     58   1.2  christos   .note.netbsd.ident :
     59   1.1      fvdl   {
     60   1.2  christos     KEEP(*(.note.netbsd.ident));
     61   1.1      fvdl   }
     62   1.1      fvdl }
     63  1.11  uebayasi SECTIONS
     64  1.11  uebayasi {
     65  1.11  uebayasi   .text :
     66  1.11  uebayasi   AT (ADDR(.text) & 0x0fffffff)
     67  1.11  uebayasi   {
     68  1.11  uebayasi     *(.text)
     69  1.11  uebayasi   } =0
     70  1.11  uebayasi }
     71