[U-Boot] printf("%d") breaks u-boot 2015.01+

Tom Rini
2015-04-08T16:08:17Z

On Wed, Apr 08, 2015 at 11:53:38AM -0400, Tom Rini wrote:
> On Wed, Apr 08, 2015 at 04:06:34PM +0200, Pavel Machek wrote:
> > On Wed 2015-04-08 09:49:53, Tom Rini wrote:
> > > On Wed, Apr 08, 2015 at 02:09:57PM +0200, Pavel Machek wrote:
> > > > Hi!
> > > >
> > > > > >>maybe this helps? I just stepped into same problem on an am335x,
> > > > > >>but had not yet time to look deeper in it ...
> > > > > >
> > > > > >I did not try the cleanup_before_linux(), but "dcache off" should have
> > > > > >same effect, right?
> > > > >
> > > > > Hmm.. not exactly... cleanup_before_linux() does also disable the mmu.
> > > >
> > > > Seems like I found the reason. CONFIG_THUMB_BUILD was set, and
> > > > that causes problems in put_dec_trunc() function (and elsewhere).
> > > >
> > > > commit 1602a502985d42bafb58cc6862b469ac03a7d634
> > > > Author: Pavel <pavel@ucw.cz>
> > > > Date: Wed Apr 8 14:08:18 2015 +0200
> > > >
> > > > Disable thumb build; it breaks put_dec_trunc() function on toolchain
> > > > from eldk-5.6 and eldk-5.4, and some other place, too.
> > > >
> > > > Signed-off-by: Pavel Machek <pavel@denx.de>
> > > >
> > > > diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
> > > > index 6d93472..6608d7d 100644
> > > > --- a/include/configs/socfpga_common.h
> > > > +++ b/include/configs/socfpga_common.h
> > > > @@ -11,7 +11,7 @@
> > > > /* Virtual target or real hardware */
> > > > #undef CONFIG_SOCFPGA_VIRTUAL_TARGET
> > > >
> > > > -#define CONFIG_SYS_THUMB_BUILD
> > > > +#undef CONFIG_SYS_THUMB_BUILD
> > > >
> > > > #define CONFIG_SOCFPGA
> > >
> > > OK, this is kind of scary. What is wrong with those toolchains OR how
> > > we're telling them to build things as no, we should be able to use thumb
> > > mode just fine and need to for size reasons in various cases.
> >
> > Well.. it is scary, as put_dec_trunc() is very straightforward
> > function. It works in 2014.10, even with thumb on.
> >
> > > If this
> > > is a generic problem then for example, omap4_panda + ELDK 5.4/5.6 just
> > > shouldn't work either and we _must_ use thumb there for at least SPL.
> >
> > I don't know enough about thumb in u-boot. And yes, I'd like people to
> > confirm if u-boot works for them on socfpga...
>
> I'll fire up ELDK 5.4 + Pandaboard later today (which uses thumb) but I
> think you need to bisect down to when exactly things break since my gut
> is telling me it's not toolchain / thumb but something else that broke
> things.

Panda + ELDK 5.4, which sets CONFIG_SYS_THUMB_BUILD for both SPL and
U-Boot boots up fine on top of tree, cold boot tested even.

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