OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [include/] [asm-generic/] [vmlinux.lds.h] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 xianfeng
#ifndef LOAD_OFFSET
2
#define LOAD_OFFSET 0
3
#endif
4
 
5
#ifndef VMLINUX_SYMBOL
6
#define VMLINUX_SYMBOL(_sym_) _sym_
7
#endif
8
 
9
/* Align . to a 8 byte boundary equals to maximum function alignment. */
10
#define ALIGN_FUNCTION()  . = ALIGN(8)
11
 
12
/* .data section */
13
#define DATA_DATA                                                       \
14
        *(.data)                                                        \
15
        *(.data.init.refok)                                             \
16
        . = ALIGN(8);                                                   \
17
        VMLINUX_SYMBOL(__start___markers) = .;                          \
18
        *(__markers)                                                    \
19
        VMLINUX_SYMBOL(__stop___markers) = .;
20
 
21
#define RO_DATA(align)                                                  \
22
        . = ALIGN((align));                                             \
23
        .rodata           : AT(ADDR(.rodata) - LOAD_OFFSET) {           \
24
                VMLINUX_SYMBOL(__start_rodata) = .;                     \
25
                *(.rodata) *(.rodata.*)                                 \
26
                *(__vermagic)           /* Kernel version magic */      \
27
                *(__markers_strings)    /* Markers: strings */          \
28
        }                                                               \
29
                                                                        \
30
        .rodata1          : AT(ADDR(.rodata1) - LOAD_OFFSET) {          \
31
                *(.rodata1)                                             \
32
        }                                                               \
33
                                                                        \
34
        /* PCI quirks */                                                \
35
        .pci_fixup        : AT(ADDR(.pci_fixup) - LOAD_OFFSET) {        \
36
                VMLINUX_SYMBOL(__start_pci_fixups_early) = .;           \
37
                *(.pci_fixup_early)                                     \
38
                VMLINUX_SYMBOL(__end_pci_fixups_early) = .;             \
39
                VMLINUX_SYMBOL(__start_pci_fixups_header) = .;          \
40
                *(.pci_fixup_header)                                    \
41
                VMLINUX_SYMBOL(__end_pci_fixups_header) = .;            \
42
                VMLINUX_SYMBOL(__start_pci_fixups_final) = .;           \
43
                *(.pci_fixup_final)                                     \
44
                VMLINUX_SYMBOL(__end_pci_fixups_final) = .;             \
45
                VMLINUX_SYMBOL(__start_pci_fixups_enable) = .;          \
46
                *(.pci_fixup_enable)                                    \
47
                VMLINUX_SYMBOL(__end_pci_fixups_enable) = .;            \
48
                VMLINUX_SYMBOL(__start_pci_fixups_resume) = .;          \
49
                *(.pci_fixup_resume)                                    \
50
                VMLINUX_SYMBOL(__end_pci_fixups_resume) = .;            \
51
        }                                                               \
52
                                                                        \
53
        /* RapidIO route ops */                                         \
54
        .rio_route        : AT(ADDR(.rio_route) - LOAD_OFFSET) {        \
55
                VMLINUX_SYMBOL(__start_rio_route_ops) = .;              \
56
                *(.rio_route_ops)                                       \
57
                VMLINUX_SYMBOL(__end_rio_route_ops) = .;                \
58
        }                                                               \
59
                                                                        \
60
        /* Kernel symbol table: Normal symbols */                       \
61
        __ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {         \
62
                VMLINUX_SYMBOL(__start___ksymtab) = .;                  \
63
                *(__ksymtab)                                            \
64
                VMLINUX_SYMBOL(__stop___ksymtab) = .;                   \
65
        }                                                               \
66
                                                                        \
67
        /* Kernel symbol table: GPL-only symbols */                     \
68
        __ksymtab_gpl     : AT(ADDR(__ksymtab_gpl) - LOAD_OFFSET) {     \
69
                VMLINUX_SYMBOL(__start___ksymtab_gpl) = .;              \
70
                *(__ksymtab_gpl)                                        \
71
                VMLINUX_SYMBOL(__stop___ksymtab_gpl) = .;               \
72
        }                                                               \
73
                                                                        \
74
        /* Kernel symbol table: Normal unused symbols */                \
75
        __ksymtab_unused  : AT(ADDR(__ksymtab_unused) - LOAD_OFFSET) {  \
76
                VMLINUX_SYMBOL(__start___ksymtab_unused) = .;           \
77
                *(__ksymtab_unused)                                     \
78
                VMLINUX_SYMBOL(__stop___ksymtab_unused) = .;            \
79
        }                                                               \
80
                                                                        \
81
        /* Kernel symbol table: GPL-only unused symbols */              \
82
        __ksymtab_unused_gpl : AT(ADDR(__ksymtab_unused_gpl) - LOAD_OFFSET) { \
83
                VMLINUX_SYMBOL(__start___ksymtab_unused_gpl) = .;       \
84
                *(__ksymtab_unused_gpl)                                 \
85
                VMLINUX_SYMBOL(__stop___ksymtab_unused_gpl) = .;        \
86
        }                                                               \
87
                                                                        \
88
        /* Kernel symbol table: GPL-future-only symbols */              \
89
        __ksymtab_gpl_future : AT(ADDR(__ksymtab_gpl_future) - LOAD_OFFSET) { \
90
                VMLINUX_SYMBOL(__start___ksymtab_gpl_future) = .;       \
91
                *(__ksymtab_gpl_future)                                 \
92
                VMLINUX_SYMBOL(__stop___ksymtab_gpl_future) = .;        \
93
        }                                                               \
94
                                                                        \
95
        /* Kernel symbol table: Normal symbols */                       \
96
        __kcrctab         : AT(ADDR(__kcrctab) - LOAD_OFFSET) {         \
97
                VMLINUX_SYMBOL(__start___kcrctab) = .;                  \
98
                *(__kcrctab)                                            \
99
                VMLINUX_SYMBOL(__stop___kcrctab) = .;                   \
100
        }                                                               \
101
                                                                        \
102
        /* Kernel symbol table: GPL-only symbols */                     \
103
        __kcrctab_gpl     : AT(ADDR(__kcrctab_gpl) - LOAD_OFFSET) {     \
104
                VMLINUX_SYMBOL(__start___kcrctab_gpl) = .;              \
105
                *(__kcrctab_gpl)                                        \
106
                VMLINUX_SYMBOL(__stop___kcrctab_gpl) = .;               \
107
        }                                                               \
108
                                                                        \
109
        /* Kernel symbol table: Normal unused symbols */                \
110
        __kcrctab_unused  : AT(ADDR(__kcrctab_unused) - LOAD_OFFSET) {  \
111
                VMLINUX_SYMBOL(__start___kcrctab_unused) = .;           \
112
                *(__kcrctab_unused)                                     \
113
                VMLINUX_SYMBOL(__stop___kcrctab_unused) = .;            \
114
        }                                                               \
115
                                                                        \
116
        /* Kernel symbol table: GPL-only unused symbols */              \
117
        __kcrctab_unused_gpl : AT(ADDR(__kcrctab_unused_gpl) - LOAD_OFFSET) { \
118
                VMLINUX_SYMBOL(__start___kcrctab_unused_gpl) = .;       \
119
                *(__kcrctab_unused_gpl)                                 \
120
                VMLINUX_SYMBOL(__stop___kcrctab_unused_gpl) = .;        \
121
        }                                                               \
122
                                                                        \
123
        /* Kernel symbol table: GPL-future-only symbols */              \
124
        __kcrctab_gpl_future : AT(ADDR(__kcrctab_gpl_future) - LOAD_OFFSET) { \
125
                VMLINUX_SYMBOL(__start___kcrctab_gpl_future) = .;       \
126
                *(__kcrctab_gpl_future)                                 \
127
                VMLINUX_SYMBOL(__stop___kcrctab_gpl_future) = .;        \
128
        }                                                               \
129
                                                                        \
130
        /* Kernel symbol table: strings */                              \
131
        __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \
132
                *(__ksymtab_strings)                                    \
133
        }                                                               \
134
                                                                        \
135
        /* Built-in module parameters. */                               \
136
        __param : AT(ADDR(__param) - LOAD_OFFSET) {                     \
137
                VMLINUX_SYMBOL(__start___param) = .;                    \
138
                *(__param)                                              \
139
                VMLINUX_SYMBOL(__stop___param) = .;                     \
140
                VMLINUX_SYMBOL(__end_rodata) = .;                       \
141
        }                                                               \
142
                                                                        \
143
        . = ALIGN((align));
144
 
145
/* RODATA provided for backward compatibility.
146
 * All archs are supposed to use RO_DATA() */
147
#define RODATA RO_DATA(4096)
148
 
149
#define SECURITY_INIT                                                   \
150
        .security_initcall.init : AT(ADDR(.security_initcall.init) - LOAD_OFFSET) { \
151
                VMLINUX_SYMBOL(__security_initcall_start) = .;          \
152
                *(.security_initcall.init)                              \
153
                VMLINUX_SYMBOL(__security_initcall_end) = .;            \
154
        }
155
 
156
/* .text section. Map to function alignment to avoid address changes
157
 * during second ld run in second ld pass when generating System.map */
158
#define TEXT_TEXT                                                       \
159
                ALIGN_FUNCTION();                                       \
160
                *(.text)                                                \
161
                *(.text.init.refok)                                     \
162
                *(.exit.text.refok)
163
 
164
/* sched.text is aling to function alignment to secure we have same
165
 * address even at second ld pass when generating System.map */
166
#define SCHED_TEXT                                                      \
167
                ALIGN_FUNCTION();                                       \
168
                VMLINUX_SYMBOL(__sched_text_start) = .;                 \
169
                *(.sched.text)                                          \
170
                VMLINUX_SYMBOL(__sched_text_end) = .;
171
 
172
/* spinlock.text is aling to function alignment to secure we have same
173
 * address even at second ld pass when generating System.map */
174
#define LOCK_TEXT                                                       \
175
                ALIGN_FUNCTION();                                       \
176
                VMLINUX_SYMBOL(__lock_text_start) = .;                  \
177
                *(.spinlock.text)                                       \
178
                VMLINUX_SYMBOL(__lock_text_end) = .;
179
 
180
#define KPROBES_TEXT                                                    \
181
                ALIGN_FUNCTION();                                       \
182
                VMLINUX_SYMBOL(__kprobes_text_start) = .;               \
183
                *(.kprobes.text)                                        \
184
                VMLINUX_SYMBOL(__kprobes_text_end) = .;
185
 
186
                /* DWARF debug sections.
187
                Symbols in the DWARF debugging sections are relative to
188
                the beginning of the section so we begin them at 0.  */
189
#define DWARF_DEBUG                                                     \
190
                /* DWARF 1 */                                           \
191
                .debug          0 : { *(.debug) }                        \
192
                .line           0 : { *(.line) }                 \
193
                /* GNU DWARF 1 extensions */                            \
194
                .debug_srcinfo  0 : { *(.debug_srcinfo) }                \
195
                .debug_sfnames  0 : { *(.debug_sfnames) }                \
196
                /* DWARF 1.1 and DWARF 2 */                             \
197
                .debug_aranges  0 : { *(.debug_aranges) }                \
198
                .debug_pubnames 0 : { *(.debug_pubnames) }               \
199
                /* DWARF 2 */                                           \
200
                .debug_info     0 : { *(.debug_info                      \
201
                                .gnu.linkonce.wi.*) }                   \
202
                .debug_abbrev   0 : { *(.debug_abbrev) }         \
203
                .debug_line     0 : { *(.debug_line) }                   \
204
                .debug_frame    0 : { *(.debug_frame) }                  \
205
                .debug_str      0 : { *(.debug_str) }                    \
206
                .debug_loc      0 : { *(.debug_loc) }                    \
207
                .debug_macinfo  0 : { *(.debug_macinfo) }                \
208
                /* SGI/MIPS DWARF 2 extensions */                       \
209
                .debug_weaknames 0 : { *(.debug_weaknames) }             \
210
                .debug_funcnames 0 : { *(.debug_funcnames) }             \
211
                .debug_typenames 0 : { *(.debug_typenames) }             \
212
                .debug_varnames  0 : { *(.debug_varnames) }              \
213
 
214
                /* Stabs debugging sections.  */
215
#define STABS_DEBUG                                                     \
216
                .stab 0 : { *(.stab) }                                   \
217
                .stabstr 0 : { *(.stabstr) }                             \
218
                .stab.excl 0 : { *(.stab.excl) }                 \
219
                .stab.exclstr 0 : { *(.stab.exclstr) }                   \
220
                .stab.index 0 : { *(.stab.index) }                       \
221
                .stab.indexstr 0 : { *(.stab.indexstr) }         \
222
                .comment 0 : { *(.comment) }
223
 
224
#define BUG_TABLE                                                       \
225
        . = ALIGN(8);                                                   \
226
        __bug_table : AT(ADDR(__bug_table) - LOAD_OFFSET) {             \
227
                __start___bug_table = .;                                \
228
                *(__bug_table)                                          \
229
                __stop___bug_table = .;                                 \
230
        }
231
 
232
#define NOTES                                                           \
233
        .notes : AT(ADDR(.notes) - LOAD_OFFSET) {                       \
234
                VMLINUX_SYMBOL(__start_notes) = .;                      \
235
                *(.note.*)                                              \
236
                VMLINUX_SYMBOL(__stop_notes) = .;                       \
237
        }
238
#define INITCALLS                                                       \
239
        *(.initcall0.init)                                              \
240
        *(.initcall0s.init)                                             \
241
        *(.initcall1.init)                                              \
242
        *(.initcall1s.init)                                             \
243
        *(.initcall2.init)                                              \
244
        *(.initcall2s.init)                                             \
245
        *(.initcall3.init)                                              \
246
        *(.initcall3s.init)                                             \
247
        *(.initcall4.init)                                              \
248
        *(.initcall4s.init)                                             \
249
        *(.initcall5.init)                                              \
250
        *(.initcall5s.init)                                             \
251
        *(.initcallrootfs.init)                                         \
252
        *(.initcall6.init)                                              \
253
        *(.initcall6s.init)                                             \
254
        *(.initcall7.init)                                              \
255
        *(.initcall7s.init)
256
 
257
#define PERCPU(align)                                                   \
258
        . = ALIGN(align);                                               \
259
        __per_cpu_start = .;                                            \
260
        .data.percpu  : AT(ADDR(.data.percpu) - LOAD_OFFSET) {          \
261
                *(.data.percpu)                                         \
262
                *(.data.percpu.shared_aligned)                          \
263
        }                                                               \
264
        __per_cpu_end = .;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.