Hi Graeme and Allen, On Tue, 10 Jul 2012 15:13:47 +1000, Graeme Russ <graeme.r...@gmail.com> wrote: > Hi Martin, > > On Tue, Jul 10, 2012 at 3:08 PM, Allen Martin <amar...@nvidia.com> wrote: > > Disable sibling call optimization based on binutils version. This is > > to work around a bug in the assember in binutils versions < 2.22. > > Branches to weak symbols can be incorrectly optimized in thumb mode to > > a short branch (b.n instruction) that won't reach when the symbol gets > > preempted. > > > > http://sourceware.org/bugzilla/show_bug.cgi?id=12532 > > > > Signed-off-by: Allen Martin <amar...@nvidia.com> > > --- > > arch/arm/config.mk | 20 ++++++++++++++++++++ > > 1 file changed, 20 insertions(+) > > > > diff --git a/arch/arm/config.mk b/arch/arm/config.mk > > index 3f4453a..1ba9d75 100644 > > --- a/arch/arm/config.mk > > +++ b/arch/arm/config.mk > > @@ -87,3 +87,23 @@ endif > > ifndef CONFIG_NAND_SPL > > LDFLAGS_u-boot += -pie > > endif > > + > > +# > > +# binutils versions < 2.22 have a bug in the assembler where branches > > +# to weak symbols can be incorrectly optimized in thumb mode to a > > +# short branch (b.n instruction) that won't reach when the symbol > > +# gets preempted > > +# > > +# http://sourceware.org/bugzilla/show_bug.cgi?id=12532 > > +# > > +ifeq ($(CONFIG_SYS_THUMB_BUILD),y) > > +ifeq ($(GAS_BUG_12532),) > > +export GAS_BUG_12532:=$(shell if [ $(call binutils-version) -lt 0222 ] ; > > then echo yes; else echo no; fi) > > y instead of yes > > > +ifeq ($(GAS_BUG_12532),yes) > > So: > > ifeq ($(GAS_BUG_12532),y) > > is more consistent > > > +$(warning *** disabling sibling call optimzation because binutils version > > < 2.22) > > Maybe add 'code size will be (slightly) larger'
"could be" rather than "will be" ? > > > +endif > > +endif > > +ifeq ($(GAS_BUG_12532),yes) > > +PLATFORM_RELFLAGS += -fno-optimize-sibling-calls > > +endif > > +endif > > -- > > 1.7.9.5 > > If a new patch version is out and Tested-by: soon, I am willing to take this in. > Regards, > > Graeme Amicalement, -- Albert. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot