patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / include / asm-generic / vmlinux.lds.h
1 #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 #define RODATA                                                          \
10         .rodata           : AT(ADDR(.rodata) - LOAD_OFFSET) {           \
11                 *(.rodata) *(.rodata.*)                                 \
12                 *(__vermagic)           /* Kernel version magic */      \
13         }                                                               \
14                                                                         \
15         .rodata1          : AT(ADDR(.rodata1) - LOAD_OFFSET) {          \
16                 *(.rodata1)                                             \
17         }                                                               \
18                                                                         \
19         /* Kernel symbol table: Normal symbols */                       \
20         __ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {         \
21                 VMLINUX_SYMBOL(__start___ksymtab) = .;                  \
22                 *(__ksymtab)                                            \
23                 VMLINUX_SYMBOL(__stop___ksymtab) = .;                   \
24         }                                                               \
25                                                                         \
26         /* Kernel symbol table: GPL-only symbols */                     \
27         __ksymtab_gpl     : AT(ADDR(__ksymtab_gpl) - LOAD_OFFSET) {     \
28                 VMLINUX_SYMBOL(__start___ksymtab_gpl) = .;              \
29                 *(__ksymtab_gpl)                                        \
30                 VMLINUX_SYMBOL(__stop___ksymtab_gpl) = .;               \
31         }                                                               \
32                                                                         \
33         /* Kernel symbol table: Normal symbols */                       \
34         __kcrctab         : AT(ADDR(__kcrctab) - LOAD_OFFSET) {         \
35                 VMLINUX_SYMBOL(__start___kcrctab) = .;                  \
36                 *(__kcrctab)                                            \
37                 VMLINUX_SYMBOL(__stop___kcrctab) = .;                   \
38         }                                                               \
39                                                                         \
40         /* Kernel symbol table: GPL-only symbols */                     \
41         __kcrctab_gpl     : AT(ADDR(__kcrctab_gpl) - LOAD_OFFSET) {     \
42                 VMLINUX_SYMBOL(__start___kcrctab_gpl) = .;              \
43                 *(__kcrctab_gpl)                                        \
44                 VMLINUX_SYMBOL(__stop___kcrctab_gpl) = .;               \
45         }                                                               \
46                                                                         \
47         /* Kernel symbol table: strings */                              \
48         __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \
49                 *(__ksymtab_strings)                                    \
50         }
51
52 #define SECURITY_INIT                                                   \
53         .security_initcall.init : {                                     \
54                 VMLINUX_SYMBOL(__security_initcall_start) = .;          \
55                 *(.security_initcall.init)                              \
56                 VMLINUX_SYMBOL(__security_initcall_end) = .;            \
57         }
58
59 #define SCHED_TEXT                                                      \
60                 VMLINUX_SYMBOL(__sched_text_start) = .;                 \
61                 *(.sched.text)                                          \
62                 VMLINUX_SYMBOL(__sched_text_end) = .;