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