linux/arch/cris/arch-v10/vmlinux.lds.S
<<
>>
Prefs
   1/* ld script to make the Linux/CRIS kernel
   2 * Authors: Bjorn Wesen (bjornw@axis.com)
   3 *
   4 * It is VERY DANGEROUS to fiddle around with the symbols in this
   5 * script. It is for example quite vital that all generated sections
   6 * that are used are actually named here, otherwise the linker will
   7 * put them at the end, where the init stuff is which is FREED after
   8 * the kernel has booted. 
   9 */     
  10
  11#include <asm-generic/vmlinux.lds.h>
  12#include <asm/page.h>
  13
  14jiffies = jiffies_64;
  15SECTIONS
  16{
  17        . = DRAM_VIRTUAL_BASE;
  18        dram_start = .;
  19        ibr_start = .;
  20        . = . + 0x4000; /* see head.S and pages reserved at the start */
  21
  22        _text = .;                    /* Text and read-only data */
  23        text_start = .;              /* lots of aliases */
  24        _stext = .;
  25        __stext = .;
  26        .text : {
  27                TEXT_TEXT
  28                SCHED_TEXT
  29                LOCK_TEXT
  30                *(.fixup)
  31                *(.text.__*)
  32        }
  33
  34        _etext = . ;                  /* End of text section */ 
  35        __etext = .;
  36
  37        . = ALIGN(4);                /* Exception table */
  38        __start___ex_table = .;
  39        __ex_table : { *(__ex_table) }
  40        __stop___ex_table = .;
  41
  42        RODATA
  43
  44        . = ALIGN (4);
  45        ___data_start = . ;
  46        __Sdata = . ;
  47        .data : {                     /* Data */
  48                DATA_DATA
  49        }
  50        __edata = . ;                 /* End of data section */
  51        _edata = . ;
  52
  53        . = ALIGN(PAGE_SIZE);   /* init_task and stack, must be aligned */
  54        .data.init_task : { *(.data.init_task) }
  55
  56        . = ALIGN(PAGE_SIZE);   /* Init code and data */
  57        __init_begin = .;
  58        .init.text : { 
  59                   _sinittext = .;
  60                   INIT_TEXT
  61                   _einittext = .;
  62        }
  63        .init.data : { INIT_DATA }
  64        . = ALIGN(16);
  65        __setup_start = .;
  66        .init.setup : { *(.init.setup) }
  67        __setup_end = .;
  68        .initcall.init : {
  69                __initcall_start = .;
  70                INITCALLS
  71                __initcall_end = .;     
  72        }
  73
  74        .con_initcall.init : {
  75                __con_initcall_start = .;
  76                *(.con_initcall.init)
  77                __con_initcall_end = .;
  78        }       
  79        SECURITY_INIT
  80
  81#ifdef CONFIG_BLK_DEV_INITRD
  82        .init.ramfs : {
  83                __initramfs_start = .;
  84                *(.init.ramfs)
  85                __initramfs_end = .;
  86        }
  87#endif
  88        __vmlinux_end = .;            /* last address of the physical file */
  89
  90        /*
  91         * We fill to the next page, so we can discard all init
  92         * pages without needing to consider what payload might be
  93         * appended to the kernel image.
  94         */
  95        . = ALIGN(PAGE_SIZE);
  96
  97        __init_end = .;
  98
  99        __data_end = . ;              /* Move to _edata ? */
 100        __bss_start = .;              /* BSS */
 101        .bss : {
 102                *(COMMON)
 103                *(.bss)
 104        }
 105
 106        . =  ALIGN (0x20);
 107        _end = .;
 108        __end = .;
 109
 110        /* Sections to be discarded */
 111        /DISCARD/ : {
 112                EXIT_TEXT
 113                EXIT_DATA
 114                *(.exitcall.exit)
 115        }
 116
 117        dram_end = dram_start + CONFIG_ETRAX_DRAM_SIZE*1024*1024;
 118}
 119
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.