kernel: fix ftrace support on 4.9
When porting the kernel patches from 4.4 to 4.9, they were missing a small chunk that ensures that ftrace sections are kept in the vmlinux image, even when linked with --gc-sections Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
36d2884d55
commit
7c42f15c24
1 changed files with 27 additions and 0 deletions
|
@ -201,6 +201,33 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||||
|
|
||||||
--- a/include/asm-generic/vmlinux.lds.h
|
--- a/include/asm-generic/vmlinux.lds.h
|
||||||
+++ b/include/asm-generic/vmlinux.lds.h
|
+++ b/include/asm-generic/vmlinux.lds.h
|
||||||
|
@@ -105,7 +105,7 @@
|
||||||
|
#ifdef CONFIG_FTRACE_MCOUNT_RECORD
|
||||||
|
#define MCOUNT_REC() . = ALIGN(8); \
|
||||||
|
VMLINUX_SYMBOL(__start_mcount_loc) = .; \
|
||||||
|
- *(__mcount_loc) \
|
||||||
|
+ KEEP(*(__mcount_loc)) \
|
||||||
|
VMLINUX_SYMBOL(__stop_mcount_loc) = .;
|
||||||
|
#else
|
||||||
|
#define MCOUNT_REC()
|
||||||
|
@@ -113,7 +113,7 @@
|
||||||
|
|
||||||
|
#ifdef CONFIG_TRACE_BRANCH_PROFILING
|
||||||
|
#define LIKELY_PROFILE() VMLINUX_SYMBOL(__start_annotated_branch_profile) = .; \
|
||||||
|
- *(_ftrace_annotated_branch) \
|
||||||
|
+ KEEP(*(_ftrace_annotated_branch)) \
|
||||||
|
VMLINUX_SYMBOL(__stop_annotated_branch_profile) = .;
|
||||||
|
#else
|
||||||
|
#define LIKELY_PROFILE()
|
||||||
|
@@ -121,7 +121,7 @@
|
||||||
|
|
||||||
|
#ifdef CONFIG_PROFILE_ALL_BRANCHES
|
||||||
|
#define BRANCH_PROFILE() VMLINUX_SYMBOL(__start_branch_profile) = .; \
|
||||||
|
- *(_ftrace_branch) \
|
||||||
|
+ KEEP(*(_ftrace_branch)) \
|
||||||
|
VMLINUX_SYMBOL(__stop_branch_profile) = .;
|
||||||
|
#else
|
||||||
|
#define BRANCH_PROFILE()
|
||||||
@@ -130,7 +130,7 @@
|
@@ -130,7 +130,7 @@
|
||||||
#ifdef CONFIG_KPROBES
|
#ifdef CONFIG_KPROBES
|
||||||
#define KPROBE_BLACKLIST() . = ALIGN(8); \
|
#define KPROBE_BLACKLIST() . = ALIGN(8); \
|
||||||
|
|
Loading…
Reference in a new issue