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