From: Felix Fietkau Date: Wed, 18 Oct 2017 20:46:29 +0000 (+0200) Subject: kernel: fix ftrace support on 4.9 X-Git-Tag: v18.06.0-rc1~1980 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=7c42f15c2406481784d654d99244539d71522582;p=oweals%2Fopenwrt.git 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 --- diff --git a/target/linux/generic/hack-4.9/220-gc_sections.patch b/target/linux/generic/hack-4.9/220-gc_sections.patch index 428fcb6501..eda8bb8b2b 100644 --- a/target/linux/generic/hack-4.9/220-gc_sections.patch +++ b/target/linux/generic/hack-4.9/220-gc_sections.patch @@ -201,6 +201,33 @@ Signed-off-by: Gabor Juhos --- a/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 @@ #ifdef CONFIG_KPROBES #define KPROBE_BLACKLIST() . = ALIGN(8); \