equal
deleted
inserted
replaced
41 #define MCOUNT_REC() VMLINUX_SYMBOL(__start_mcount_loc) = .; \ |
41 #define MCOUNT_REC() VMLINUX_SYMBOL(__start_mcount_loc) = .; \ |
42 *(__mcount_loc) \ |
42 *(__mcount_loc) \ |
43 VMLINUX_SYMBOL(__stop_mcount_loc) = .; |
43 VMLINUX_SYMBOL(__stop_mcount_loc) = .; |
44 #else |
44 #else |
45 #define MCOUNT_REC() |
45 #define MCOUNT_REC() |
|
46 #endif |
|
47 |
|
48 #ifdef CONFIG_TRACE_BRANCH_PROFILING |
|
49 #define LIKELY_PROFILE() VMLINUX_SYMBOL(__start_annotated_branch_profile) = .; \ |
|
50 *(_ftrace_annotated_branch) \ |
|
51 VMLINUX_SYMBOL(__stop_annotated_branch_profile) = .; |
|
52 #else |
|
53 #define LIKELY_PROFILE() |
|
54 #endif |
|
55 |
|
56 #ifdef CONFIG_PROFILE_ALL_BRANCHES |
|
57 #define BRANCH_PROFILE() VMLINUX_SYMBOL(__start_branch_profile) = .; \ |
|
58 *(_ftrace_branch) \ |
|
59 VMLINUX_SYMBOL(__stop_branch_profile) = .; |
|
60 #else |
|
61 #define BRANCH_PROFILE() |
46 #endif |
62 #endif |
47 |
63 |
48 /* .data section */ |
64 /* .data section */ |
49 #define DATA_DATA \ |
65 #define DATA_DATA \ |
50 *(.data) \ |
66 *(.data) \ |
58 MEM_KEEP(exit.data) \ |
74 MEM_KEEP(exit.data) \ |
59 . = ALIGN(8); \ |
75 . = ALIGN(8); \ |
60 VMLINUX_SYMBOL(__start___markers) = .; \ |
76 VMLINUX_SYMBOL(__start___markers) = .; \ |
61 *(__markers) \ |
77 *(__markers) \ |
62 VMLINUX_SYMBOL(__stop___markers) = .; \ |
78 VMLINUX_SYMBOL(__stop___markers) = .; \ |
|
79 . = ALIGN(32); \ |
63 VMLINUX_SYMBOL(__start___tracepoints) = .; \ |
80 VMLINUX_SYMBOL(__start___tracepoints) = .; \ |
64 *(__tracepoints) \ |
81 *(__tracepoints) \ |
65 VMLINUX_SYMBOL(__stop___tracepoints) = .; |
82 VMLINUX_SYMBOL(__stop___tracepoints) = .; \ |
|
83 LIKELY_PROFILE() \ |
|
84 BRANCH_PROFILE() |
66 |
85 |
67 #define RO_DATA(align) \ |
86 #define RO_DATA(align) \ |
68 . = ALIGN((align)); \ |
87 . = ALIGN((align)); \ |
69 .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \ |
88 .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \ |
70 VMLINUX_SYMBOL(__start_rodata) = .; \ |
89 VMLINUX_SYMBOL(__start_rodata) = .; \ |
266 #define KPROBES_TEXT \ |
285 #define KPROBES_TEXT \ |
267 ALIGN_FUNCTION(); \ |
286 ALIGN_FUNCTION(); \ |
268 VMLINUX_SYMBOL(__kprobes_text_start) = .; \ |
287 VMLINUX_SYMBOL(__kprobes_text_start) = .; \ |
269 *(.kprobes.text) \ |
288 *(.kprobes.text) \ |
270 VMLINUX_SYMBOL(__kprobes_text_end) = .; |
289 VMLINUX_SYMBOL(__kprobes_text_end) = .; |
|
290 |
|
291 #ifdef CONFIG_FUNCTION_GRAPH_TRACER |
|
292 #define IRQENTRY_TEXT \ |
|
293 ALIGN_FUNCTION(); \ |
|
294 VMLINUX_SYMBOL(__irqentry_text_start) = .; \ |
|
295 *(.irqentry.text) \ |
|
296 VMLINUX_SYMBOL(__irqentry_text_end) = .; |
|
297 #else |
|
298 #define IRQENTRY_TEXT |
|
299 #endif |
271 |
300 |
272 /* Section used for early init (in .S files) */ |
301 /* Section used for early init (in .S files) */ |
273 #define HEAD_TEXT *(.head.text) |
302 #define HEAD_TEXT *(.head.text) |
274 |
303 |
275 /* init and exit section handling */ |
304 /* init and exit section handling */ |