Home | History | Annotate | Line # | Download | only in conf
kern.ldscript.Xen revision 1.6
      1  1.6  uebayasi /*	$NetBSD: kern.ldscript.Xen,v 1.6 2014/11/02 17:58:14 uebayasi Exp $	*/
      2  1.1     pavel 
      3  1.1     pavel OUTPUT_FORMAT("elf32-i386", "elf32-i386",
      4  1.1     pavel 	      "elf32-i386")
      5  1.1     pavel OUTPUT_ARCH(i386)
      6  1.1     pavel SECTIONS
      7  1.1     pavel {
      8  1.1     pavel    /* Read-only sections, merged into text segment: */
      9  1.1     pavel    .text :
     10  1.1     pavel    {
     11  1.1     pavel      *(.text)
     12  1.1     pavel      *(.text.*)
     13  1.1     pavel      *(.stub)
     14  1.1     pavel    } =0
     15  1.1     pavel    _etext = . ;
     16  1.1     pavel    PROVIDE (etext = .) ;
     17  1.1     pavel 
     18  1.3      yamt    .rodata :
     19  1.3      yamt    {
     20  1.3      yamt      *(.rodata)
     21  1.3      yamt      *(.rodata.*)
     22  1.3      yamt    }
     23  1.3      yamt 
     24  1.1     pavel    /* Adjust the address for the data segment.  We want to adjust up to
     25  1.1     pavel       the same address within the page on the next page up.  */
     26  1.1     pavel    . = ALIGN(0x1000) + (. & (0x1000 - 1));
     27  1.3      yamt    __data_start = . ;
     28  1.1     pavel    .data :
     29  1.1     pavel    {
     30  1.1     pavel      *(.data)
     31  1.6  uebayasi    }
     32  1.6  uebayasi    . = ALIGN(64);	/* COHERENCY_UNIT */
     33  1.6  uebayasi    .data.cacheline_aligned :
     34  1.6  uebayasi    AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text)))
     35  1.6  uebayasi    {
     36  1.4       chs      *(.data.cacheline_aligned)
     37  1.6  uebayasi    }
     38  1.6  uebayasi    . = ALIGN(64);	/* COHERENCY_UNIT */
     39  1.6  uebayasi    .data.read_mostly :
     40  1.6  uebayasi    AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text)))
     41  1.6  uebayasi    {
     42  1.4       chs      *(.data.read_mostly)
     43  1.4       chs    }
     44  1.4       chs    . = ALIGN(64);	/* COHERENCY_UNIT */
     45  1.1     pavel    _edata = . ;
     46  1.1     pavel    PROVIDE (edata = .) ;
     47  1.1     pavel    __bss_start = . ;
     48  1.1     pavel    .bss :
     49  1.1     pavel    {
     50  1.1     pavel      *(.bss)
     51  1.1     pavel      *(.bss.*)
     52  1.1     pavel      *(COMMON)
     53  1.1     pavel      . = ALIGN(32 / 8);
     54  1.1     pavel    }
     55  1.1     pavel    . = ALIGN(32 / 8);
     56  1.1     pavel   _end = . ;
     57  1.1     pavel   PROVIDE (end = .) ;
     58  1.2  christos   .note.netbsd.ident :
     59  1.2  christos   {
     60  1.2  christos     KEEP(*(.note.netbsd.ident));
     61  1.2  christos   }
     62  1.1     pavel }
     63