
When imx28_xea_defconfig is built with LTO, the compiler complains about the two different declarations of _start: include/asm-generic/sections.h as extern void _start(void); arch/arm/cpu/arm926ejs/mxs/mxs.c as extern uint32_t _start;
Fix this.
Signed-off-by: Marek Behún marek.behun@nic.cz Reviewed-by: Bin Meng bmeng.cn@gmail.com --- arch/arm/cpu/arm926ejs/mxs/mxs.c | 2 +- arch/arm/cpu/arm926ejs/mxs/spl_boot.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/cpu/arm926ejs/mxs/mxs.c b/arch/arm/cpu/arm926ejs/mxs/mxs.c index 344b9b4e55..4d21e3df76 100644 --- a/arch/arm/cpu/arm926ejs/mxs/mxs.c +++ b/arch/arm/cpu/arm926ejs/mxs/mxs.c @@ -25,6 +25,7 @@ #include <asm/arch/iomux.h> #include <asm/arch/imx-regs.h> #include <asm/arch/sys_proto.h> +#include <asm/sections.h> #include <linux/compiler.h>
DECLARE_GLOBAL_DATA_PTR; @@ -98,7 +99,6 @@ int arch_cpu_init(void) { struct mxs_clkctrl_regs *clkctrl_regs = (struct mxs_clkctrl_regs *)MXS_CLKCTRL_BASE; - extern uint32_t _start;
mx28_fixup_vt((uint32_t)&_start);
diff --git a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c index 66406cc857..0a8985b90a 100644 --- a/arch/arm/cpu/arm926ejs/mxs/spl_boot.c +++ b/arch/arm/cpu/arm926ejs/mxs/spl_boot.c @@ -16,6 +16,7 @@ #include <asm/arch/imx-regs.h> #include <asm/arch/sys_proto.h> #include <asm/gpio.h> +#include <asm/sections.h> #include <linux/compiler.h>
#include "mxs_init.h" @@ -100,7 +101,6 @@ static void mxs_spl_fixup_vectors(void) * thus this fixup. Our vectoring table is PIC, so copying is * fine. */ - extern uint32_t _start;
/* cppcheck-suppress nullPointer */ memcpy(0x0, &_start, 0x60);