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

Marek Vasut
2015-04-08T13:13:27Z

On Wednesday, April 08, 2015 at 02:09:57 PM, 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

Disabling thumb build to paper over the problem is certainly not
a solution, right? What is the root cause for those problems and
how can we fix it in the right place ?

Best regards,
Marek Vasut