PageRenderTime 23ms CodeModel.GetById 16ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/m32r/kernel/vmlinux.lds.S

https://bitbucket.org/evzijst/gittest
Assembly | 143 lines | 126 code | 17 blank | 0 comment | 0 complexity | d4af3854e3435baad54229fe3cd17ab8 MD5 | raw file
  1/* ld script to make M32R Linux kernel
  2 */
  3
  4#include <linux/config.h>
  5#include <asm-generic/vmlinux.lds.h>
  6#include <asm/addrspace.h>
  7#include <asm/page.h>
  8
  9OUTPUT_ARCH(m32r)
 10ENTRY(startup_32)
 11#if defined(__LITTLE_ENDIAN__)
 12       jiffies = jiffies_64;
 13#else
 14       jiffies = jiffies_64 + 4;
 15#endif
 16SECTIONS
 17{
 18  . = CONFIG_MEMORY_START + __PAGE_OFFSET;
 19  eit_vector = .;
 20
 21  . = . + 0x1000;
 22  .empty_zero_page : { *(.empty_zero_page) } = 0
 23
 24  /* read-only */
 25  _text = .;			/* Text and read-only data */
 26  .boot : { *(.boot) } = 0
 27  .text : {
 28	*(.text)
 29	SCHED_TEXT
 30	LOCK_TEXT
 31	*(.fixup)
 32	*(.gnu.warning)
 33	} = 0x9090
 34#ifdef CONFIG_SMP
 35  . = ALIGN(65536);
 36  .eit_vector4 : { *(.eit_vector4) }
 37#endif
 38  _etext = .;			/* End of text section */
 39
 40  . = ALIGN(16);		/* Exception table */
 41  __start___ex_table = .;
 42  __ex_table : { *(__ex_table) }
 43  __stop___ex_table = .;
 44
 45  RODATA
 46
 47  /* writeable */
 48  .data : {			/* Data */
 49	*(.spu)
 50	*(.spi)
 51	*(.data)
 52	CONSTRUCTORS
 53	}
 54
 55  . = ALIGN(4096);
 56  __nosave_begin = .;
 57  .data_nosave : { *(.data.nosave) }
 58  . = ALIGN(4096);
 59  __nosave_end = .;
 60
 61  . = ALIGN(4096);
 62  .data.page_aligned : { *(.data.idt) }
 63
 64  . = ALIGN(32);
 65  .data.cacheline_aligned : { *(.data.cacheline_aligned) }
 66
 67  _edata = .;			/* End of data section */
 68
 69  . = ALIGN(8192);		/* init_task */
 70  .data.init_task : { *(.data.init_task) }
 71
 72  /* will be freed after init */
 73  . = ALIGN(4096);		/* Init code and data */
 74  __init_begin = .;
 75  .init.text : {
 76	_sinittext = .;
 77	*(.init.text)
 78	_einittext = .;
 79  }
 80  .init.data : { *(.init.data) }
 81  . = ALIGN(16);
 82  __setup_start = .;
 83  .init.setup : { *(.init.setup) }
 84  __setup_end = .;
 85  __initcall_start = .;
 86  .initcall.init : {
 87	*(.initcall1.init)
 88	*(.initcall2.init)
 89	*(.initcall3.init)
 90	*(.initcall4.init)
 91	*(.initcall5.init)
 92	*(.initcall6.init)
 93	*(.initcall7.init)
 94  }
 95  __initcall_end = .;
 96  __con_initcall_start = .;
 97  .con_initcall.init : { *(.con_initcall.init) }
 98  __con_initcall_end = .;
 99  SECURITY_INIT
100  . = ALIGN(4);
101  __alt_instructions = .;
102  .altinstructions : { *(.altinstructions) }
103  __alt_instructions_end = .;
104  .altinstr_replacement : { *(.altinstr_replacement) }
105  /* .exit.text is discard at runtime, not link time, to deal with references
106     from .altinstructions and .eh_frame */
107  .exit.text : { *(.exit.text) }
108  .exit.data : { *(.exit.data) }
109  . = ALIGN(4096);
110  __initramfs_start = .;
111  .init.ramfs : { *(.init.ramfs) }
112  __initramfs_end = .;
113  . = ALIGN(32);
114  __per_cpu_start = .;
115  .data.percpu  : { *(.data.percpu) }
116  __per_cpu_end = .;
117  . = ALIGN(4096);
118  __init_end = .;
119  /* freed after init ends here */
120
121  __bss_start = .;		/* BSS */
122  .bss : { *(.bss) }
123  . = ALIGN(4);
124  __bss_stop = .;
125
126  _end = . ;
127
128  /* Sections to be discarded */
129  /DISCARD/ : {
130	*(.exit.text)
131	*(.exit.data)
132	*(.exitcall.exit)
133	}
134
135  /* Stabs debugging sections.  */
136  .stab 0 : { *(.stab) }
137  .stabstr 0 : { *(.stabstr) }
138  .stab.excl 0 : { *(.stab.excl) }
139  .stab.exclstr 0 : { *(.stab.exclstr) }
140  .stab.index 0 : { *(.stab.index) }
141  .stab.indexstr 0 : { *(.stab.indexstr) }
142  .comment 0 : { *(.comment) }
143}