From 2490669a29014e27eee3bf3c72b17383dea4a55d Mon Sep 17 00:00:00 2001 From: Benjamin Herrenschmidt Date: Sun, 24 Jul 2016 09:27:00 +1000 Subject: Disable mcount on some early functions It doesn't work well to call it before the boot CPU structure is initialized. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Stewart Smith --- core/cpu.c | 2 +- core/init.c | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/cpu.c b/core/cpu.c index f407b46..316a0a3 100644 --- a/core/cpu.c +++ b/core/cpu.c @@ -438,7 +438,7 @@ void init_hid(void) disable_attn(); } -void pre_init_boot_cpu(void) +void __nomcount pre_init_boot_cpu(void) { struct cpu_thread *cpu = this_cpu(); diff --git a/core/init.c b/core/init.c index 86bcdea..b50a360 100644 --- a/core/init.c +++ b/core/init.c @@ -563,12 +563,9 @@ static void setup_branch_null_catcher(void) memcpy(0, bn, 16); } -/* Called from head.S, thus no prototype. */ -void __noreturn main_cpu_entry(const void *fdt, u32 master_cpu); - typedef void (*ctorcall_t)(void); -static void do_ctors(void) +static void __nomcount do_ctors(void) { extern ctorcall_t __ctors_start[], __ctors_end[]; ctorcall_t *call; @@ -577,7 +574,10 @@ static void do_ctors(void) (*call)(); } -void __noreturn main_cpu_entry(const void *fdt, u32 master_cpu) +/* Called from head.S, thus no prototype. */ +void main_cpu_entry(const void *fdt, u32 master_cpu); + +void __noreturn __nomcount main_cpu_entry(const void *fdt, u32 master_cpu) { /* * WARNING: At this point. the timebases have @@ -854,9 +854,9 @@ void __noreturn __secondary_cpu_entry(void) } /* Called from head.S, thus no prototype. */ -void __noreturn secondary_cpu_entry(void); +void secondary_cpu_entry(void); -void __noreturn secondary_cpu_entry(void) +void __noreturn __nomcount secondary_cpu_entry(void) { struct cpu_thread *cpu = this_cpu(); -- cgit v1.1