kern.ldscript revision 1.2
11.2Schristos/*	$NetBSD: kern.ldscript,v 1.2 2007/05/12 20:59:19 christos Exp $	*/
21.1Sfvdl
31.1SfvdlOUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64",
41.1Sfvdl	      "elf64-x86-64")
51.1SfvdlOUTPUT_ARCH(i386:x86-64)
61.1SfvdlENTRY(_start)
71.1SfvdlSECTIONS
81.1Sfvdl{
91.2Schristos   /* Read-only sections, merged into text segment: */
101.2Schristos   .text :
111.2Schristos   AT (ADDR(.text))
121.2Schristos   {
131.2Schristos     *(.text)
141.2Schristos     *(.text.*)
151.2Schristos     *(.stub)
161.2Schristos     *(.rodata)
171.2Schristos   } =0
181.2Schristos   _etext = . ;
191.2Schristos   PROVIDE (etext = .) ;
201.2Schristos
211.2Schristos   /* Adjust the address for the data segment.  We want to adjust up to
221.2Schristos      the same address within the page on the next page up.  */
231.2Schristos   . = ALIGN(0x100000) + (. & (0x100000 - 1));
241.2Schristos   .data :
251.2Schristos   AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text)))
261.2Schristos   {
271.2Schristos     *(.data)
281.2Schristos     *(.data.*)
291.2Schristos   }
301.2Schristos   _edata = . ;
311.2Schristos   PROVIDE (edata = .) ;
321.2Schristos   __bss_start = . ;
331.2Schristos   .bss :
341.2Schristos   AT (LOADADDR(.text) + (ADDR(.bss) - ADDR(.text)))
351.2Schristos   {
361.2Schristos     *(.bss)
371.2Schristos     *(.bss.*)
381.2Schristos     *(COMMON)
391.2Schristos     . = ALIGN(64 / 8);
401.2Schristos   }
411.2Schristos   . = ALIGN(64 / 8);
421.2Schristos  _end = . ;
431.2Schristos  PROVIDE (end = .) ;
441.2Schristos  .note.netbsd.ident :
451.1Sfvdl  {
461.2Schristos    KEEP(*(.note.netbsd.ident));
471.1Sfvdl  }
481.1Sfvdl}
49