Home | History | Annotate | Line # | Download | only in conf
kern.ldscript revision 1.3.142.1
      1  1.3.142.1     yamt /*	$NetBSD: kern.ldscript,v 1.3.142.1 2014/05/22 11:40:00 yamt Exp $	*/
      2        1.1  thorpej 
      3        1.2  thorpej OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
      4        1.2  thorpej 	      "elf32-littlearm")
      5        1.1  thorpej OUTPUT_ARCH(arm)
      6        1.1  thorpej ENTRY(KERNEL_BASE_phys)
      7        1.1  thorpej SECTIONS
      8        1.1  thorpej {
      9        1.1  thorpej   KERNEL_BASE_phys = 0x0000c000;
     10        1.1  thorpej   KERNEL_BASE_virt = 0xf000c000;
     11        1.1  thorpej 
     12        1.1  thorpej   /* Kernel start: */
     13        1.1  thorpej   .start (KERNEL_BASE_phys) :
     14        1.1  thorpej   {
     15        1.1  thorpej     *(.start)
     16        1.1  thorpej   } =0
     17        1.1  thorpej 
     18        1.1  thorpej   /* Read-only sections, merged into text segment: */
     19        1.1  thorpej   .text (KERNEL_BASE_virt + SIZEOF(.start)) :
     20        1.1  thorpej   AT (LOADADDR(.start) + SIZEOF(.start))
     21        1.1  thorpej   {
     22        1.1  thorpej     *(.text)
     23        1.1  thorpej     *(.text.*)
     24        1.1  thorpej     *(.stub)
     25        1.1  thorpej     *(.glue_7t) *(.glue_7)
     26        1.1  thorpej     *(.rodata) *(.rodata.*)
     27        1.1  thorpej   } =0
     28  1.3.142.1     yamt   .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
     29  1.3.142.1     yamt   PROVIDE (__exidx_start = .);
     30  1.3.142.1     yamt   .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
     31  1.3.142.1     yamt   PROVIDE (__exidx_end = .);
     32        1.1  thorpej   PROVIDE (__etext = .);
     33        1.1  thorpej   PROVIDE (_etext = .);
     34        1.1  thorpej   PROVIDE (etext = .);
     35        1.1  thorpej   /* Adjust the address for the data segment to start on the next page
     36        1.1  thorpej      boundary.  */
     37        1.1  thorpej   . = ALIGN(0x8000);
     38        1.1  thorpej   .data    :
     39        1.3      uwe   AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text)))
     40        1.1  thorpej   {
     41        1.1  thorpej     __data_start = . ;
     42        1.1  thorpej     *(.data)
     43        1.1  thorpej     *(.data.*)
     44        1.1  thorpej   }
     45        1.3      uwe   .sdata     :
     46        1.3      uwe   AT (LOADADDR(.data) + (ADDR(.sdata) - ADDR(.data)))
     47        1.1  thorpej   {
     48        1.1  thorpej     *(.sdata)
     49        1.1  thorpej     *(.sdata.*)
     50        1.1  thorpej   }
     51        1.1  thorpej   _edata = .;
     52        1.1  thorpej   PROVIDE (edata = .);
     53        1.1  thorpej   __bss_start = .;
     54        1.1  thorpej   __bss_start__ = .;
     55        1.1  thorpej   .sbss      :
     56        1.1  thorpej   {
     57        1.1  thorpej     PROVIDE (__sbss_start = .);
     58        1.1  thorpej     PROVIDE (___sbss_start = .);
     59        1.1  thorpej     *(.dynsbss)
     60        1.1  thorpej     *(.sbss)
     61        1.1  thorpej     *(.sbss.*)
     62        1.1  thorpej     *(.scommon)
     63        1.1  thorpej     PROVIDE (__sbss_end = .);
     64        1.1  thorpej     PROVIDE (___sbss_end = .);
     65        1.1  thorpej   }
     66        1.1  thorpej   .bss       :
     67        1.1  thorpej   {
     68        1.1  thorpej    *(.dynbss)
     69        1.1  thorpej    *(.bss)
     70        1.1  thorpej    *(.bss.*)
     71        1.1  thorpej    *(COMMON)
     72        1.1  thorpej    /* Align here to ensure that the .bss section occupies space up to
     73        1.1  thorpej       _end.  Align after .bss to ensure correct alignment even if the
     74        1.1  thorpej       .bss section disappears because there are no input sections.  */
     75        1.1  thorpej    . = ALIGN(32 / 8);
     76        1.1  thorpej   }
     77        1.1  thorpej   . = ALIGN(32 / 8);
     78        1.1  thorpej   _end = .;
     79        1.1  thorpej   _bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
     80        1.1  thorpej   PROVIDE (end = .);
     81        1.1  thorpej }
     82