]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-generic/vmlinux.lds.h
Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds
[linux-2.6-omap-h63xx.git] / include / asm-generic / vmlinux.lds.h
index c68eda9d9a90ff5e33dcc5cb272a18b3f67fa6d5..80744606bad172b57d2ab52dc01bb0bf33af293e 100644 (file)
 #define MEM_DISCARD(sec) *(.mem##sec)
 #endif
 
+#ifdef CONFIG_FTRACE_MCOUNT_RECORD
+#define MCOUNT_REC()   VMLINUX_SYMBOL(__start_mcount_loc) = .; \
+                       *(__mcount_loc)                         \
+                       VMLINUX_SYMBOL(__stop_mcount_loc) = .;
+#else
+#define MCOUNT_REC()
+#endif
 
 /* .data section */
 #define DATA_DATA                                                      \
        . = ALIGN(8);                                                   \
        VMLINUX_SYMBOL(__start___markers) = .;                          \
        *(__markers)                                                    \
-       VMLINUX_SYMBOL(__stop___markers) = .;
+       VMLINUX_SYMBOL(__stop___markers) = .;                           \
+       VMLINUX_SYMBOL(__start___tracepoints) = .;                      \
+       *(__tracepoints)                                                \
+       VMLINUX_SYMBOL(__stop___tracepoints) = .;
 
 #define RO_DATA(align)                                                 \
        . = ALIGN((align));                                             \
@@ -61,6 +71,7 @@
                *(.rodata) *(.rodata.*)                                 \
                *(__vermagic)           /* Kernel version magic */      \
                *(__markers_strings)    /* Markers: strings */          \
+               *(__tracepoints_strings)/* Tracepoints: strings */      \
        }                                                               \
                                                                        \
        .rodata1          : AT(ADDR(.rodata1) - LOAD_OFFSET) {          \
        /* __*init sections */                                          \
        __init_rodata : AT(ADDR(__init_rodata) - LOAD_OFFSET) {         \
                *(.ref.rodata)                                          \
+               MCOUNT_REC()                                            \
                DEV_KEEP(init.rodata)                                   \
                DEV_KEEP(exit.rodata)                                   \
                CPU_KEEP(init.rodata)                                   \
  * All archs are supposed to use RO_DATA() */
 #define RODATA RO_DATA(4096)
 
-#define DYN_ARRAY_INIT(align)                                                  \
-       . = ALIGN((align));                                             \
-       .dyn_array.init : AT(ADDR(.dyn_array.init) - LOAD_OFFSET) {     \
-               VMLINUX_SYMBOL(__dyn_array_start) = .;                  \
-               *(.dyn_array.init)                                      \
-               VMLINUX_SYMBOL(__dyn_array_end) = .;                    \
-       }                                                               \
-       . = ALIGN((align));                                             \
-       .per_cpu_dyn_array.init : AT(ADDR(.per_cpu_dyn_array.init) - LOAD_OFFSET) {     \
-               VMLINUX_SYMBOL(__per_cpu_dyn_array_start) = .;          \
-               *(.per_cpu_dyn_array.init)                              \
-               VMLINUX_SYMBOL(__per_cpu_dyn_array_end) = .;            \
-       }
 #define SECURITY_INIT                                                  \
        .security_initcall.init : AT(ADDR(.security_initcall.init) - LOAD_OFFSET) { \
                VMLINUX_SYMBOL(__security_initcall_start) = .;          \
        CPU_DISCARD(init.data)                                          \
        CPU_DISCARD(init.rodata)                                        \
        MEM_DISCARD(init.data)                                          \
-       MEM_DISCARD(init.rodata)
+       MEM_DISCARD(init.rodata)                                        \
+       /* implement dynamic printk debug */                            \
+       VMLINUX_SYMBOL(__start___verbose_strings) = .;                  \
+       *(__verbose_strings)                                            \
+       VMLINUX_SYMBOL(__stop___verbose_strings) = .;                   \
+       . = ALIGN(8);                                                   \
+       VMLINUX_SYMBOL(__start___verbose) = .;                          \
+       *(__verbose)                                                    \
+       VMLINUX_SYMBOL(__stop___verbose) = .;
 
 #define INIT_TEXT                                                      \
        *(.init.text)                                                   \