[U-Boot] Pull request: u-boot-arm/master

Albert ARIBAUD
2015-07-05T14:11:39Z

Hello Tom,

On Thu, 2 Jul 2015 18:55:04 -0400, Tom Rini <trini@konsulko.com> wrote:
> On Thu, Jul 02, 2015 at 11:27:20PM +0200, Albert ARIBAUD wrote:
>
> > Hello Tom,
> >
> > The following changes since commit 9c6b05cb724e18d1db3f9e1a75b2272572f06fbd:
> >
> > Prepare v2015.07-rc3 (2015-06-29 17:22:01 -0400)
> >
> > are available in the git repository at:
> >
> > git://git.denx.de/u-boot-arm master
> >
> > for you to fetch changes up to d6f9f69632754f03d064cc9b302c9e1552249258:
> >
> > arm: dcc: Add uart dcc support for armv8 (2015-07-02 23:24:24 +0200)
> >
> > ----------------------------------------------------------------
> > Albert ARIBAUD (1):
> > Merge branch 'u-boot/master' into 'u-boot-arm/master'
> >
> > Axel Lin (1):
> > gpio: lpc32xx: Use priv_data instead of platdata
> >
> > Pavel Machek (1):
> > armv7: better comment in start.S
> >
> > Simon Glass (2):
> > arm: Add ENTRY/ENDPROC to private libgcc functions
> > Revert "break build if it would produce broken binary"
> >
> > Siva Durga Prasad Paladugu (1):
> > arm: dcc: Add uart dcc support for armv8
> >
> > Tom Rini (1):
> > arm: Enable CONFIG_USE_ARCH_MEMSET/MEMCPY globally
>
> I see thumb related breakage on axm, taurus, and stm32f429-discovery
> now. We probably need the patch you posted that forces the right thumb
> mode on arch/arm/lib/mem{set,cpy}.S ?

Sorry for missing that.

Commit ecaf902 ('arm: Enable CONFIG_USE_ARCH_MEMSET/MEMCPY globally')
actually broke these boards, and I did not notice it from the buildman
summary. The breaking occurs because of the following:

- taurus and its derivative axm are the only two Thumb-1-only targets
which enable CONFIG_SYS_THUMB_BUILD (for their) SPL; but memset.S and
memcpy.S can only assemble for ARM or Thumb-2, not Thumb-1.

- stm32f429-discovery is the only armV7-m / CPU_V7M (Thumb1 and Thumb2
only) target in U-boot... yet does not define CONFIG_SYS_THUMB_BUILD,
which makes memset.S / memcpy.S assume that they should build for ARM,
not Thumb2; the assembler correctly refuses that.

My thumb patch fixes taurus and axm as it prevents memset.S and memcpy.S
from trying to assemble for Thumb-1, but does not fix stm32f429-discovery,
for which the fix is to properly announce CONFIG_SYS_THUMB_BUILD in the
config header file.

Sending v4 of my Thumb-1 patch ASAP.

> --
> Tom

Amicalement,
--
Albert.