vserver 1.9.3
[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         /* PCI quirks */                                                \
20         .pci_fixup        : AT(ADDR(.pci_fixup) - LOAD_OFFSET) {        \
21                 VMLINUX_SYMBOL(__start_pci_fixups_header) = .;          \
22                 *(.pci_fixup_header)                                    \
23                 VMLINUX_SYMBOL(__end_pci_fixups_header) = .;            \
24                 VMLINUX_SYMBOL(__start_pci_fixups_final) = .;           \
25                 *(.pci_fixup_final)                                     \
26                 VMLINUX_SYMBOL(__end_pci_fixups_final) = .;             \
27         }                                                               \
28                                                                         \
29         /* Kernel symbol table: Normal symbols */                       \
30         __ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {         \
31                 VMLINUX_SYMBOL(__start___ksymtab) = .;                  \
32                 *(__ksymtab)                                            \
33                 VMLINUX_SYMBOL(__stop___ksymtab) = .;                   \
34         }                                                               \
35                                                                         \
36         /* Kernel symbol table: GPL-only symbols */                     \
37         __ksymtab_gpl     : AT(ADDR(__ksymtab_gpl) - LOAD_OFFSET) {     \
38                 VMLINUX_SYMBOL(__start___ksymtab_gpl) = .;              \
39                 *(__ksymtab_gpl)                                        \
40                 VMLINUX_SYMBOL(__stop___ksymtab_gpl) = .;               \
41         }                                                               \
42                                                                         \
43         /* Kernel symbol table: Normal symbols */                       \
44         __kcrctab         : AT(ADDR(__kcrctab) - LOAD_OFFSET) {         \
45                 VMLINUX_SYMBOL(__start___kcrctab) = .;                  \
46                 *(__kcrctab)                                            \
47                 VMLINUX_SYMBOL(__stop___kcrctab) = .;                   \
48         }                                                               \
49                                                                         \
50         /* Kernel symbol table: GPL-only symbols */                     \
51         __kcrctab_gpl     : AT(ADDR(__kcrctab_gpl) - LOAD_OFFSET) {     \
52                 VMLINUX_SYMBOL(__start___kcrctab_gpl) = .;              \
53                 *(__kcrctab_gpl)                                        \
54                 VMLINUX_SYMBOL(__stop___kcrctab_gpl) = .;               \
55         }                                                               \
56                                                                         \
57         /* Kernel symbol table: strings */                              \
58         __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \
59                 *(__ksymtab_strings)                                    \
60         }                                                               \
61                                                                         \
62         /* Built-in module parameters. */                               \
63         __param : AT(ADDR(__param) - LOAD_OFFSET) {                     \
64                 VMLINUX_SYMBOL(__start___param) = .;                    \
65                 *(__param)                                              \
66                 VMLINUX_SYMBOL(__stop___param) = .;                     \
67         }
68
69 #define SECURITY_INIT                                                   \
70         .security_initcall.init : {                                     \
71                 VMLINUX_SYMBOL(__security_initcall_start) = .;          \
72                 *(.security_initcall.init)                              \
73                 VMLINUX_SYMBOL(__security_initcall_end) = .;            \
74         }
75
76 #define SCHED_TEXT                                                      \
77                 VMLINUX_SYMBOL(__sched_text_start) = .;                 \
78                 *(.sched.text)                                          \
79                 VMLINUX_SYMBOL(__sched_text_end) = .;
80
81 #define LOCK_TEXT                                                       \
82                 VMLINUX_SYMBOL(__lock_text_start) = .;                  \
83                 *(.spinlock.text)                                       \
84                 VMLINUX_SYMBOL(__lock_text_end) = .;