This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / include / asm-generic / vmlinux.lds.h
index a4b6c76..bb340cb 100644 (file)
@@ -2,6 +2,10 @@
 #define LOAD_OFFSET 0
 #endif
 
+#ifndef VMLINUX_SYMBOL
+#define VMLINUX_SYMBOL(_sym_) _sym_
+#endif
+
 #define RODATA                                                         \
        .rodata           : AT(ADDR(.rodata) - LOAD_OFFSET) {           \
                *(.rodata) *(.rodata.*)                                 \
                *(.rodata1)                                             \
        }                                                               \
                                                                        \
+       /* PCI quirks */                                                \
+       .pci_fixup        : AT(ADDR(.pci_fixup) - LOAD_OFFSET) {        \
+               VMLINUX_SYMBOL(__start_pci_fixups_header) = .;          \
+               *(.pci_fixup_header)                                    \
+               VMLINUX_SYMBOL(__end_pci_fixups_header) = .;            \
+               VMLINUX_SYMBOL(__start_pci_fixups_final) = .;           \
+               *(.pci_fixup_final)                                     \
+               VMLINUX_SYMBOL(__end_pci_fixups_final) = .;             \
+       }                                                               \
+                                                                       \
        /* Kernel symbol table: Normal symbols */                       \
        __ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {         \
-               __start___ksymtab = .;                                  \
+               VMLINUX_SYMBOL(__start___ksymtab) = .;                  \
                *(__ksymtab)                                            \
-               __stop___ksymtab = .;                                   \
+               VMLINUX_SYMBOL(__stop___ksymtab) = .;                   \
        }                                                               \
                                                                        \
        /* Kernel symbol table: GPL-only symbols */                     \
        __ksymtab_gpl     : AT(ADDR(__ksymtab_gpl) - LOAD_OFFSET) {     \
-               __start___ksymtab_gpl = .;                              \
+               VMLINUX_SYMBOL(__start___ksymtab_gpl) = .;              \
                *(__ksymtab_gpl)                                        \
-               __stop___ksymtab_gpl = .;                               \
+               VMLINUX_SYMBOL(__stop___ksymtab_gpl) = .;               \
        }                                                               \
                                                                        \
        /* Kernel symbol table: Normal symbols */                       \
        __kcrctab         : AT(ADDR(__kcrctab) - LOAD_OFFSET) {         \
-               __start___kcrctab = .;                                  \
+               VMLINUX_SYMBOL(__start___kcrctab) = .;                  \
                *(__kcrctab)                                            \
-               __stop___kcrctab = .;                                   \
+               VMLINUX_SYMBOL(__stop___kcrctab) = .;                   \
        }                                                               \
                                                                        \
        /* Kernel symbol table: GPL-only symbols */                     \
        __kcrctab_gpl     : AT(ADDR(__kcrctab_gpl) - LOAD_OFFSET) {     \
-               __start___kcrctab_gpl = .;                              \
+               VMLINUX_SYMBOL(__start___kcrctab_gpl) = .;              \
                *(__kcrctab_gpl)                                        \
-               __stop___kcrctab_gpl = .;                               \
+               VMLINUX_SYMBOL(__stop___kcrctab_gpl) = .;               \
        }                                                               \
                                                                        \
        /* Kernel symbol table: strings */                              \
         __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) {        \
                *(__ksymtab_strings)                                    \
+       }                                                               \
+                                                                       \
+       /* Built-in module parameters. */                               \
+       __param : AT(ADDR(__param) - LOAD_OFFSET) {                     \
+               VMLINUX_SYMBOL(__start___param) = .;                    \
+               *(__param)                                              \
+               VMLINUX_SYMBOL(__stop___param) = .;                     \
        }
 
 #define SECURITY_INIT                                                  \
        .security_initcall.init : {                                     \
-               __security_initcall_start = .;                          \
+               VMLINUX_SYMBOL(__security_initcall_start) = .;          \
                *(.security_initcall.init)                              \
-               __security_initcall_end = .;                            \
+               VMLINUX_SYMBOL(__security_initcall_end) = .;            \
        }
 
 #define SCHED_TEXT                                                     \
-               __scheduling_functions_start_here = .;                  \
+               VMLINUX_SYMBOL(__sched_text_start) = .;                 \
                *(.sched.text)                                          \
-               __scheduling_functions_end_here = .;
+               VMLINUX_SYMBOL(__sched_text_end) = .;
+
+#define LOCK_TEXT                                                      \
+               VMLINUX_SYMBOL(__lock_text_start) = .;                  \
+               *(.spinlock.text)                                       \
+               VMLINUX_SYMBOL(__lock_text_end) = .;