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

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
arch/arm/cpu/armv7/start.S | 7 +++---- arch/arm/include/asm/u-boot.h | 4 ---- arch/arm/lib/Makefile | 4 ++-- arch/arm/lib/_ashldi3.S | 6 ++++-- arch/arm/lib/_ashrdi3.S | 6 ++++-- arch/arm/lib/_divsi3.S | 6 ++++-- arch/arm/lib/_lshrdi3.S | 6 ++++-- arch/arm/lib/_modsi3.S | 7 ++++--- arch/arm/lib/_udivsi3.S | 10 ++++++---- arch/arm/lib/_umodsi3.S | 6 ++++-- arch/arm/lib/memcpy.S | 2 +- arch/arm/lib/memset.S | 2 +- drivers/gpio/lpc32xx_gpio.c | 39 +++++++++++++++++++-------------------- drivers/serial/arm_dcc.c | 16 ++++++++++++++++ examples/api/Makefile | 3 ++- include/config_fallbacks.h | 5 +++++ 16 files changed, 79 insertions(+), 50 deletions(-)
Amicalement,

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 ?

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,
participants (2)
-
Albert ARIBAUD
-
Tom Rini