1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 # define LOAD_OFFSET PAGE_OFFSET
23 # define LOAD_BASE PAGE_OFFSET
24
25 #include <asm/page.h>
26 #include <asm/cache.h>
27 #include <asm/thread_info.h>
28 #include <asm-generic/vmlinux.lds.h>
29
30 #ifdef __OR1K__
31 #define __OUTPUT_FORMAT "elf32-or1k"
32 #else
33 #define __OUTPUT_FORMAT "elf32-or32"
34 #endif
35
36 OUTPUT_FORMAT(__OUTPUT_FORMAT, __OUTPUT_FORMAT, __OUTPUT_FORMAT)
37 jiffies = jiffies_64 + 4;
38
39 SECTIONS
40 {
41
42 . = LOAD_BASE ;
43
44 _text = .;
45
46
47 . = ALIGN(PAGE_SIZE);
48 _s_kernel_ro = .;
49
50 .text : AT(ADDR(.text) - LOAD_OFFSET)
51 {
52 _stext = .;
53 TEXT_TEXT
54 SCHED_TEXT
55 CPUIDLE_TEXT
56 LOCK_TEXT
57 KPROBES_TEXT
58 IRQENTRY_TEXT
59 SOFTIRQENTRY_TEXT
60 *(.fixup)
61 *(.text.__*)
62 _etext = .;
63 }
64
65
66
67
68 _sdata = .;
69
70
71 RO_DATA_SECTION(PAGE_SIZE)
72 _e_kernel_ro = .;
73
74
75
76
77 RW_DATA_SECTION(32, PAGE_SIZE, PAGE_SIZE)
78
79 _edata = .;
80
81 EXCEPTION_TABLE(4)
82 NOTES
83
84
85 . = ALIGN(PAGE_SIZE);
86 __init_begin = .;
87
88 HEAD_TEXT_SECTION
89
90
91 INIT_TEXT_SECTION(PAGE_SIZE)
92
93
94 INIT_DATA_SECTION(16)
95
96 PERCPU_SECTION(L1_CACHE_BYTES)
97
98 __init_end = .;
99
100 . = ALIGN(PAGE_SIZE);
101 .initrd : AT(ADDR(.initrd) - LOAD_OFFSET)
102 {
103 __initrd_start = .;
104 *(.initrd)
105 __initrd_end = .;
106 FILL (0);
107 . = ALIGN (PAGE_SIZE);
108 }
109
110 __vmlinux_end = .;
111
112 BSS_SECTION(0, 0, 0x20)
113
114 _end = .;
115
116
117 STABS_DEBUG
118 DWARF_DEBUG
119
120
121 DISCARDS
122 }