[U-Boot] [PATCH] armv7m: Fix larger builds
Vikas MANOCHA
vikas.manocha at st.com
Thu May 25 23:57:49 UTC 2017
Hi Phil,
> -----Original Message-----
> From: Phil Edworthy [mailto:phil.edworthy at renesas.com]
> Sent: Thursday, May 25, 2017 6:58 AM
> To: Vikas MANOCHA <vikas.manocha at st.com>; Albert Aribaud <albert.u.boot at aribaud.net>
> Cc: Tom Rini <trini at konsulko.com>; Kamil Lulko <kamil.lulko at gmail.com>; u-boot at lists.denx.de
> Subject: RE: [PATCH] armv7m: Fix larger builds
>
> Hi Vikas,
>
> On 25 May 2017 10:16 Phil Edworthy wrote:
> > > On 24 May 2017 18:32 Vikas MANOCHA wrote:
> > > Hi Phil,
> > >
> > > > On Wednesday, May 24, 2017 7:34 AM Phil Edworthy wrote:
> > > > The branch instruction only has an 11-bit relative target address, which is
> > > sometimes not enough.
> > > >
> > > > Signed-off-by: Phil Edworthy <phil.edworthy at renesas.com>
> > > > ---
> > > > arch/arm/cpu/armv7m/start.S | 3 ++-
> > > > 1 file changed, 2 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/arch/arm/cpu/armv7m/start.S
> > b/arch/arm/cpu/armv7m/start.S
> > > > index 49f2720..d79adb5 100644
> > > > --- a/arch/arm/cpu/armv7m/start.S
> > > > +++ b/arch/arm/cpu/armv7m/start.S
> > > > @@ -8,7 +8,8 @@
> > > > .globl reset
> > > > .type reset, %function
> > > > reset:
> > > > - b _main
> > > > + ldr r0, =_main
> > > > + mov pc, r0
> > >
> > > How about using W(b) for wider range ?
> > Yes, that makes better sense!
> Hmm, if I use W(b) it complains with:
> arch/arm/cpu/armv7m/start.S:14:(.text+0x0): relocation truncated to fit: R_ARM_THM_JUMP11 against symbol `_main' defined in
> .text section in arch/arm/lib/built-in.o
Seems like the generated branch instruction is still 16 bit, you can check the disassembly. Which compiler & version you are using ?
Are you getting the same issue with "b _main" also. If no, compare the disassembly.
Cheers,
Vikas
>
> Any ideas why?
> Phil
>
> > Thanks
> > Phil
> >
> > > Cheers,
> > > Vikas
> > >
> > > >
> > > > .globl c_runtime_cpu_setup
> > > > c_runtime_cpu_setup:
> > > > --
> > > > 2.7.4
More information about the U-Boot
mailing list