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