[U-Boot] Important patch missing in u-boot master (was: [PATCH] arm: Fix setjmp (again))

Tom Rini trini at konsulko.com
Sat Jul 9 15:22:47 CEST 2016


On Sat, Jul 09, 2016 at 01:09:29PM +0200, Karsten Merker wrote:
> On Tue, Jul 05, 2016 at 08:37:17PM +0200, Alexander Graf wrote:
> 
> > Commit e677724 (arm: Fix setjmp) added code to fix compilation of the setjmp
> > code path with thumv1. Unfortunately it missed a constraint that the adr
> > instruction can only refer to 4 byte aligned offsets.
> > 
> > So this patch adds the required alignment hooks to make compilation
> > work again even when setjmp doesn't happen to be 4 byte aligned.
> > 
> > Signed-off-by: Alexander Graf <agraf at suse.de>
> > Tested-by: Tom Rini <trini at konsulko.com>
> > ---
> >  arch/arm/include/asm/setjmp.h | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> > diff --git a/arch/arm/include/asm/setjmp.h b/arch/arm/include/asm/setjmp.h
> > index ae738b2..f7b97ef 100644
> > --- a/arch/arm/include/asm/setjmp.h
> > +++ b/arch/arm/include/asm/setjmp.h
> > @@ -43,6 +43,7 @@ static inline int setjmp(jmp_buf jmp)
> >  #else
> >  	asm volatile(
> >  #ifdef CONFIG_SYS_THUMB_BUILD
> > +		".align 2\n"
> >  		"adr r0, jmp_target\n"
> >  		"add r0, r0, $1\n"
> >  #else
> > @@ -52,7 +53,8 @@ static inline int setjmp(jmp_buf jmp)
> >  		"mov r2, sp\n"
> >  		"stm r1!, {r0, r2, r4, r5, r6, r7}\n"
> >  		"b 2f\n"
> > -		"jmp_target: "
> > +		".align 2\n"
> > +		"jmp_target: \n"
> >  		"mov %0, #1\n"
> >  		"2:\n"
> >  		: "+l" (r)
> 
> Hello,
> 
> this patch (https://patchwork.ozlabs.org/patch/644968/) hasn't
> yet found its way into u-boot master, but it should go in before
> the v2016.07 release which is due in two days, as without the
> patch u-boot fails to build on a number of platforms (cf.
> http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/266777).

Yes.  This is part of a small number that I was testing yesterday.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160709/dc467628/attachment.sig>


More information about the U-Boot mailing list