kernel: constructor support
[safe/jmp/linux-2.6] / include / asm-generic / vmlinux.lds.h
index 6bdba10..55413e5 100644 (file)
                INIT_TASK                                               \
        }
 
+#ifdef CONFIG_CONSTRUCTORS
+#define KERNEL_CTORS() VMLINUX_SYMBOL(__ctors_start) = .; \
+                       *(.ctors)                          \
+                       VMLINUX_SYMBOL(__ctors_end) = .;
+#else
+#define KERNEL_CTORS()
+#endif
+
 /* init and exit section handling */
 #define INIT_DATA                                                      \
        *(.init.data)                                                   \
        DEV_DISCARD(init.data)                                          \
        CPU_DISCARD(init.data)                                          \
        MEM_DISCARD(init.data)                                          \
+       KERNEL_CTORS()                                                  \
        *(.init.rodata)                                                 \
        DEV_DISCARD(init.rodata)                                        \
        CPU_DISCARD(init.rodata)                                        \