Dear Måns Rullgård, Otavio Salvador, On Di, 2015-07-28 at 14:39 +0100, Måns Rullgård wrote: > Otavio Salvador <otavio.salva...@ossystems.com.br> writes:
[snip] > There are two errors reports: > > 1. An undefined reference to the symbol "lowlevel_init" > 2. A complaint about the ".rel.plt" section not being handled by the > linker script. > > The second error is probably caused by the first. A quick grep turns > up > this snippet in arch/arm/cpu/arm926ejs/mxs/mxs.c: > > /* Lowlevel init isn't used on i.MX28, so just have a dummy here */ > inline void lowlevel_init(void) {} > > The semantics for non-static functions declared inline have changed > in > gcc5, causing the above (empty) function not to be emitted as an > external symbol. > > Since that function is only referenced from start.S, it should not be > declared inline at all. This patch should thus fix your problem: > > diff --git a/arch/arm/cpu/arm926ejs/mxs/mxs.c > b/arch/arm/cpu/arm926ejs/mxs/mxs.c > index ef130ae..b1d8721 100644 > --- a/arch/arm/cpu/arm926ejs/mxs/mxs.c > +++ b/arch/arm/cpu/arm926ejs/mxs/mxs.c > @@ -24,7 +24,7 @@ > DECLARE_GLOBAL_DATA_PTR; > > /* Lowlevel init isn't used on i.MX28, so just have a dummy here */ > -inline void lowlevel_init(void) {} > +void lowlevel_init(void) {} > > void reset_cpu(ulong ignored) __attribute__((noreturn)); > I stumbled over the same problem. Unfortunatly, I did not find this patch before (only the error report from Otavia) and submitted a similar patch [1] which keeps the inline keyword. Best regards Jörg Krause [1] "arm: mxs: make inline function compatible for GCC 5" https://patchwork.ozlabs.org/patch/504043/ _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot