~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/arch/ia64/vmlinux.lds.S

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #include <linux/config.h>
  2 
  3 #include <asm/page.h>
  4 #include <asm/system.h>
  5 
  6 OUTPUT_FORMAT("elf64-ia64-little")
  7 OUTPUT_ARCH(ia64)
  8 ENTRY(_start)
  9 SECTIONS
 10 {
 11   v = PAGE_OFFSET;      /* this symbol is here to make debugging easier... */
 12 
 13   . = KERNEL_START;
 14 
 15   _text = .;
 16   _stext = .;
 17   .text : AT(ADDR(.text) - PAGE_OFFSET)
 18     {
 19         *(__ivt_section)
 20         /* these are not really text pages, but the zero page needs to be in a fixed location: */
 21         *(__special_page_section)
 22         __start_gate_section = .;
 23         *(__gate_section)
 24         __stop_gate_section = .;
 25         *(.text)
 26     }
 27   .text2 : AT(ADDR(.text2) - PAGE_OFFSET)
 28         { *(.text2) }
 29 #ifdef CONFIG_SMP
 30   .text.lock : AT(ADDR(.text.lock) - PAGE_OFFSET)
 31         { *(.text.lock) }
 32 #endif
 33   _etext = .;
 34 
 35   /* Read-only data */
 36 
 37   __gp = ALIGN(8) + 0x200000;
 38 
 39   /* Global data */
 40   _data = .;
 41 
 42   /* Exception table */
 43   . = ALIGN(16);
 44   __start___ex_table = .;
 45   __ex_table : AT(ADDR(__ex_table) - PAGE_OFFSET)
 46         { *(__ex_table) }
 47   __stop___ex_table = .;
 48 
 49 #if defined(CONFIG_IA64_GENERIC)
 50   /* Machine Vector */
 51   . = ALIGN(16);
 52   machvec_start = .;
 53   .machvec : AT(ADDR(.machvec) - PAGE_OFFSET)
 54         { *(.machvec) }
 55   machvec_end = .;
 56 #endif
 57 
 58   __start___ksymtab = .;        /* Kernel symbol table */
 59   __ksymtab : AT(ADDR(__ksymtab) - PAGE_OFFSET)
 60         { *(__ksymtab) }
 61   __stop___ksymtab = .;
 62 
 63   /* Unwind table */
 64   ia64_unw_start = .;
 65   .IA_64.unwind : AT(ADDR(.IA_64.unwind) - PAGE_OFFSET)
 66         { *(.IA_64.unwind) }
 67   ia64_unw_end = .;
 68   .IA_64.unwind_info : AT(ADDR(.IA_64.unwind_info) - PAGE_OFFSET)
 69         { *(.IA_64.unwind_info) }
 70 
 71   .rodata : AT(ADDR(.rodata) - PAGE_OFFSET)
 72         { *(.rodata) }
 73   .kstrtab : AT(ADDR(.kstrtab) - PAGE_OFFSET)
 74         { *(.kstrtab) }
 75   .opd : AT(ADDR(.opd) - PAGE_OFFSET)
 76         { *(.opd) }
 77 
 78   /* Initialization code and data: */
 79 
 80   . = ALIGN(PAGE_SIZE);
 81   __init_begin = .;
 82   .text.init : AT(ADDR(.text.init) - PAGE_OFFSET)
 83         { *(.text.init) }
 84 
 85   .data.init : AT(ADDR(.data.init) - PAGE_OFFSET)
 86         { *(.data.init) }
 87    . = ALIGN(16);
 88   __setup_start = .;
 89   .setup.init : AT(ADDR(.setup.init) - PAGE_OFFSET)
 90         { *(.setup.init) }
 91   __setup_end = .;
 92   __initcall_start = .;
 93   .initcall.init : AT(ADDR(.initcall.init) - PAGE_OFFSET)
 94         { *(.initcall.init) }
 95   __initcall_end = .;
 96   . = ALIGN(PAGE_SIZE);
 97   __init_end = .;
 98 
 99   /* The initial task and kernel stack */
100   init_task : AT(ADDR(init_task) - PAGE_OFFSET)
101         { *(init_task) }
102 
103   .data.page_aligned : AT(ADDR(.data.page_aligned) - PAGE_OFFSET)
104         { *(.data.idt) }
105 
106   . = ALIGN(64);
107   .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - PAGE_OFFSET)
108         { *(.data.cacheline_aligned) }
109 
110   /* Kernel symbol names for modules: */
111   .kstrtab : AT(ADDR(.kstrtab) - PAGE_OFFSET)
112         { *(.kstrtab) }
113 
114   .data : AT(ADDR(.data) - PAGE_OFFSET)
115         { *(.data) *(.gnu.linkonce.d*) CONSTRUCTORS }
116 
117   .got : AT(ADDR(.got) - PAGE_OFFSET)
118         { *(.got.plt) *(.got) }
119   /* We want the small data sections together, so single-instruction offsets
120      can access them all, and initialized data all before uninitialized, so
121      we can shorten the on-disk segment size.  */
122   .sdata : AT(ADDR(.sdata) - PAGE_OFFSET)
123         { *(.sdata) }
124   _edata  =  .;
125   _bss = .;
126   .sbss : AT(ADDR(.sbss) - PAGE_OFFSET)
127         { *(.sbss) *(.scommon) }
128   .bss : AT(ADDR(.bss) - PAGE_OFFSET)
129         { *(.bss) *(COMMON) }
130   . = ALIGN(64 / 8);
131   _end = .;
132 
133   /* Sections to be discarded */
134   /DISCARD/ : {
135         *(.text.exit)
136         *(.data.exit)
137         *(.exitcall.exit)
138         }
139 
140   /* Stabs debugging sections.  */
141   .stab 0 : { *(.stab) }
142   .stabstr 0 : { *(.stabstr) }
143   .stab.excl 0 : { *(.stab.excl) }
144   .stab.exclstr 0 : { *(.stab.exclstr) }
145   .stab.index 0 : { *(.stab.index) }
146   .stab.indexstr 0 : { *(.stab.indexstr) }
147   /* DWARF debug sections.
148      Symbols in the DWARF debugging sections are relative to the beginning
149      of the section so we begin them at 0.  */
150   /* DWARF 1 */
151   .debug          0 : { *(.debug) }
152   .line           0 : { *(.line) }
153   /* GNU DWARF 1 extensions */
154   .debug_srcinfo  0 : { *(.debug_srcinfo) }
155   .debug_sfnames  0 : { *(.debug_sfnames) }
156   /* DWARF 1.1 and DWARF 2 */
157   .debug_aranges  0 : { *(.debug_aranges) }
158   .debug_pubnames 0 : { *(.debug_pubnames) }
159   /* DWARF 2 */
160   .debug_info     0 : { *(.debug_info) }
161   .debug_abbrev   0 : { *(.debug_abbrev) }
162   .debug_line     0 : { *(.debug_line) }
163   .debug_frame    0 : { *(.debug_frame) }
164   .debug_str      0 : { *(.debug_str) }
165   .debug_loc      0 : { *(.debug_loc) }
166   .debug_macinfo  0 : { *(.debug_macinfo) }
167   /* SGI/MIPS DWARF 2 extensions */
168   .debug_weaknames 0 : { *(.debug_weaknames) }
169   .debug_funcnames 0 : { *(.debug_funcnames) }
170   .debug_typenames 0 : { *(.debug_typenames) }
171   .debug_varnames  0 : { *(.debug_varnames) }
172   /* These must appear regardless of  .  */
173   /* Discard them for now since Intel SoftSDV cannot handle them.
174   .comment 0 : { *(.comment) }
175   .note 0 : { *(.note) }
176   */
177   /DISCARD/ : { *(.comment) }
178   /DISCARD/ : { *(.note) }
179 }

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.